[
  {
    "name": "angledLine",
    "summary": "Draw a line segment relative to the current origin using the polar measure of some angle and distance.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "angle",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "double",
          "type": "number",
          "format": "double",
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which angle should the line be drawn at?",
        "labelRequired": true
      },
      {
        "name": "length",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Draw the line this distance along the given angle. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given.",
        "labelRequired": true
      },
      {
        "name": "lengthX",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Draw the line this distance along the X axis. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given.",
        "labelRequired": true
      },
      {
        "name": "lengthY",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Draw the line this distance along the Y axis. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given.",
        "labelRequired": true
      },
      {
        "name": "endAbsoluteX",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Draw the line along the given angle until it reaches this point along the X axis. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given.",
        "labelRequired": true
      },
      {
        "name": "endAbsoluteY",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Draw the line along the given angle until it reaches this point along the Y axis. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> yLine(endAbsolute = 15)\n  |> angledLine(angle = 30, length = 15)\n  |> line(end = [8, -10])\n  |> yLine(endAbsolute = 0)\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  },
  {
    "name": "angledLineThatIntersects",
    "summary": "Draw an angled line from the current origin, constructing a line segment such that the newly created line intersects the desired target line segment.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "angle",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which angle should the line be drawn at?",
        "labelRequired": true
      },
      {
        "name": "intersectTag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The tag of the line to intersect with",
        "labelRequired": true
      },
      {
        "name": "offset",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "The offset from the intersecting line. Defaults to 0.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(endAbsolute = [5, 10])\n  |> line(endAbsolute = [-10, 10], tag = $lineToIntersect)\n  |> line(endAbsolute = [0, 20])\n  |> angledLineThatIntersects(angle = 80, intersectTag = lineToIntersect, offset = 10)\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  },
  {
    "name": "appearance",
    "summary": "Set the appearance of a solid. This only works on solids, not sketches or individual paths.",
    "description": "This will work on any solid, including extruded solids, revolved solids, and shelled solids.",
    "tags": [],
    "keywordArguments": true,
    "args": [
      {
        "name": "solids",
        "type": "SolidOrImportedGeometry",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SolidOrImportedGeometry",
          "description": "Data for a solid or an imported geometry.",
          "oneOf": [
            {
              "description": "Data for an imported geometry.",
              "type": "object",
              "required": [
                "id",
                "type",
                "value"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "importedGeometry"
                  ]
                },
                "id": {
                  "description": "The ID of the imported geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "description": "The original file paths.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "$ref": "#/components/schemas/Solid"
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "solidSet"
                  ]
                }
              }
            }
          ],
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solid(s) whose appearance is being set",
        "labelRequired": false
      },
      {
        "name": "color",
        "type": "string",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "String",
          "type": "string",
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Color of the new material, a hex string like '#ff0000'",
        "labelRequired": true
      },
      {
        "name": "metalness",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Metalness of the new material, a percentage like 95.7.",
        "labelRequired": true
      },
      {
        "name": "roughness",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Roughness of the new material, a percentage like 95.7.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SolidOrImportedGeometry",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "SolidOrImportedGeometry",
        "description": "Data for a solid or an imported geometry.",
        "oneOf": [
          {
            "description": "Data for an imported geometry.",
            "type": "object",
            "required": [
              "id",
              "type",
              "value"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "importedGeometry"
                ]
              },
              "id": {
                "description": "The ID of the imported geometry.",
                "type": "string",
                "format": "uuid"
              },
              "value": {
                "description": "The original file paths.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Solid"
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "solidSet"
                ]
              }
            }
          }
        ],
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Add color to an extruded solid.\nexampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(endAbsolute = [10, 0])\n  |> line(endAbsolute = [0, 10])\n  |> line(endAbsolute = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)\n  // There are other options besides 'color', but they're optional.\n  |> appearance(color = '#ff0000')",
        false
      ],
      [
        "// Add color to a revolved solid.\nsketch001 = startSketchOn(XY)\n  |> circle(center = [15, 0], radius = 5)\n  |> revolve(angle = 360, axis = Y)\n  |> appearance(color = '#ff0000', metalness = 90, roughness = 90)",
        false
      ],
      [
        "// Add color to different solids.\nfn cube(center) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - 10, center[1] - 10])\n    |> line(endAbsolute = [center[0] + 10, center[1] - 10])\n    |> line(endAbsolute = [center[0] + 10, center[1] + 10])\n    |> line(endAbsolute = [center[0] - 10, center[1] + 10])\n    |> close()\n    |> extrude(length = 10)\n}\n\nexample0 = cube(center = [0, 0])\nexample1 = cube(center = [20, 0])\nexample2 = cube(center = [40, 0])\n\nappearance(\n  [example0, example1],\n  color = '#ff0000',\n  metalness = 50,\n  roughness = 50,\n)\nappearance(\n  example2,\n  color = '#00ff00',\n  metalness = 50,\n  roughness = 50,\n)",
        false
      ],
      [
        "// You can set the appearance before or after you shell it will yield the same result.\n// This example shows setting the appearance _after_ the shell.\nfirstSketch = startSketchOn(XY)\n  |> startProfile(at = [-12, 12])\n  |> line(end = [24, 0])\n  |> line(end = [0, -24])\n  |> line(end = [-24, 0])\n  |> close()\n  |> extrude(length = 6)\n\nshell(firstSketch, faces = [END], thickness = 0.25)\n  |> appearance(color = '#ff0000', metalness = 90, roughness = 90)",
        false
      ],
      [
        "// You can set the appearance before or after you shell it will yield the same result.\n// This example shows setting the appearance _before_ the shell.\nfirstSketch = startSketchOn(XY)\n  |> startProfile(at = [-12, 12])\n  |> line(end = [24, 0])\n  |> line(end = [0, -24])\n  |> line(end = [-24, 0])\n  |> close()\n  |> extrude(length = 6)\n  |> appearance(color = '#ff0000', metalness = 90, roughness = 90)\n\nshell(firstSketch, faces = [END], thickness = 0.25)",
        false
      ],
      [
        "// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.\n// This example shows _before_ the pattern.\nexampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, 2])\n  |> line(end = [3, 1])\n  |> line(end = [0, -4])\n  |> close()\n\nexample = extrude(exampleSketch, length = 1)\n  |> appearance(color = '#ff0000', metalness = 90, roughness = 90)\n  |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)",
        false
      ],
      [
        "// Setting the appearance of a 3D pattern can be done _before_ or _after_ the pattern.\n// This example shows _after_ the pattern.\nexampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, 2])\n  |> line(end = [3, 1])\n  |> line(end = [0, -4])\n  |> close()\n\nexample = extrude(exampleSketch, length = 1)\n  |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)\n  |> appearance(color = '#ff0000', metalness = 90, roughness = 90)",
        false
      ],
      [
        "// Color the result of a 2D pattern that was extruded.\nexampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [.5, 25])\n  |> line(end = [0, 5])\n  |> line(end = [-1, 0])\n  |> line(end = [0, -5])\n  |> close()\n  |> patternCircular2d(\n       center = [0, 0],\n       instances = 13,\n       arcDegrees = 360,\n       rotateDuplicates = true,\n     )\n\nexample = extrude(exampleSketch, length = 1)\n  |> appearance(color = '#ff0000', metalness = 90, roughness = 90)",
        false
      ],
      [
        "// Color the result of a sweep.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)\n  |> appearance(color = \"#ff0000\", metalness = 50, roughness = 50)",
        false
      ],
      [
        "// Change the appearance of an imported model.\n\n\nimport \"tests/inputs/cube.sldprt\" as cube\n\ncube\n  |> appearance(color = \"#ff0000\", metalness = 50, roughness = 50)",
        false
      ]
    ]
  },
  {
    "name": "arc",
    "summary": "Draw a curved line segment along an imaginary circle.",
    "description": "The 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.\n\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": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "angleStart",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "Where along the circle should this arc start?",
        "labelRequired": true
      },
      {
        "name": "angleEnd",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "Where along the circle should this arc end?",
        "labelRequired": true
      },
      {
        "name": "radius",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "How large should the circle be?",
        "labelRequired": true
      },
      {
        "name": "interiorAbsolute",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Any point between the arc's start and end? Requires `endAbsolute`. Incompatible with `angleStart` or `angleEnd`",
        "labelRequired": true
      },
      {
        "name": "endAbsolute",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Where should this arc end? Requires `interiorAbsolute`. Incompatible with `angleStart` or `angleEnd`",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> arc(angleStart = 0, angleEnd = 280, radius = 16)\n  |> close()\nexample = extrude(exampleSketch, length = 10)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> arc(endAbsolute = [10, 0], interiorAbsolute = [5, 5])\n  |> close()\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  },
  {
    "name": "assert",
    "summary": "Check a value meets some expected conditions at runtime. Program terminates with an error if conditions aren't met. If you provide multiple conditions, they will all be checked and all must be met.",
    "description": "",
    "tags": [],
    "keywordArguments": true,
    "args": [
      {
        "name": "actual",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double"
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Value to check. It will be compared with one of the comparison arguments.",
        "labelRequired": false
      },
      {
        "name": "isGreaterThan",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Comparison argument. If given, checks the `actual` value is greater than this.",
        "labelRequired": true
      },
      {
        "name": "isLessThan",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Comparison argument. If given, checks the `actual` value is less than this.",
        "labelRequired": true
      },
      {
        "name": "isGreaterThanOrEqual",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Comparison argument. If given, checks the `actual` value is greater than or equal to this.",
        "labelRequired": true
      },
      {
        "name": "isLessThanOrEqual",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Comparison argument. If given, checks the `actual` value is less than or equal to this.",
        "labelRequired": true
      },
      {
        "name": "isEqualTo",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "Comparison argument. If given, checks the `actual` value is less than or equal to this.",
        "labelRequired": true
      },
      {
        "name": "tolerance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If `isEqualTo` is used, this is the tolerance to allow for the comparison. This tolerance is used because KCL's number system has some floating-point imprecision when used with very large decimal places.",
        "labelRequired": true
      },
      {
        "name": "error",
        "type": "string",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_String",
          "type": "string",
          "nullable": true,
          "definitions": {
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If the value was false, the program will terminate with this error message",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Null",
        "type": "null"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "n = 10\nassert(n, isEqualTo = 10)\nassert(\n  n,\n  isGreaterThanOrEqual = 0,\n  isLessThan = 100,\n  error = \"number should be between 0 and 100\",\n)\nassert(\n  1.0000000000012,\n  isEqualTo = 1,\n  tolerance = 0.0001,\n  error = \"number should be almost exactly 1\",\n)",
        false
      ]
    ]
  },
  {
    "name": "assertIs",
    "summary": "Asserts that a value is the boolean value true.",
    "description": "",
    "tags": [],
    "keywordArguments": true,
    "args": [
      {
        "name": "actual",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Boolean",
          "type": "boolean"
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Value to check. If this is the boolean value true, assert passes. Otherwise it fails.",
        "labelRequired": false
      },
      {
        "name": "error",
        "type": "string",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_String",
          "type": "string",
          "nullable": true
        },
        "required": false,
        "description": "If the value was false, the program will terminate with this error message",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "()",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Null",
        "type": "null"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "kclIsFun = true\nassertIs(kclIsFun)",
        false
      ]
    ]
  },
  {
    "name": "bezierCurve",
    "summary": "Draw a smooth, continuous, curved line segment from the current origin to the desired (x, y), using a number of control points to shape the curve's shape.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "control1",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "First control point for the cubic",
        "labelRequired": true
      },
      {
        "name": "control2",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Second control point for the cubic",
        "labelRequired": true
      },
      {
        "name": "end",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "How far away (along the X and Y axes) should this line go?",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, 10])\n  |> bezierCurve(control1 = [5, 0], control2 = [5, 10], end = [10, 10])\n  |> line(endAbsolute = [10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  },
  {
    "name": "circleThreePoint",
    "summary": "Construct a circle derived from 3 points.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketchSurfaceOrGroup",
        "type": "SketchOrSurface",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SketchOrSurface",
          "description": "A sketch surface or a sketch.",
          "anyOf": [
            {
              "$ref": "#/components/schemas/SketchSurface"
            },
            {
              "$ref": "#/components/schemas/Sketch"
            }
          ],
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Plane or surface to sketch on.",
        "labelRequired": false
      },
      {
        "name": "p1",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "1st point to derive the circle.",
        "labelRequired": true
      },
      {
        "name": "p2",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "2nd point to derive the circle.",
        "labelRequired": true
      },
      {
        "name": "p3",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "3rd point to derive the circle.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Identifier for the circle to reference elsewhere.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XY)\n  |> circleThreePoint(p1 = [10, 10], p2 = [20, 8], p3 = [15, 5])\n  |> extrude(length = 5)",
        false
      ]
    ]
  },
  {
    "name": "close",
    "summary": "Construct a line segment from the current origin back to the profile's origin, ensuring the resulting 2-dimensional sketch is not open-ended.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The sketch you want to close",
        "labelRequired": false
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 10])\n  |> line(end = [10, 0])\n  |> close()\n  |> extrude(length = 10)",
        false
      ],
      [
        "exampleSketch = startSketchOn(-XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> line(end = [0, 10])\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  },
  {
    "name": "extrude",
    "summary": "Extend a 2-dimensional sketch through a third dimension in order to create new 3-dimensional volume, or if extruded into an existing volume, cut into an existing solid.",
    "description": "You can provide more than one sketch to extrude, and they will all be extruded in the same direction.",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketches",
        "type": "[Sketch]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Sketch",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Sketch"
          },
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch or sketches should be extruded",
        "labelRequired": false
      },
      {
        "name": "length",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "How far to extrude the given sketches",
        "labelRequired": true
      },
      {
        "name": "symmetric",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "If true, the extrusion will happen symmetrically around the sketch. Otherwise, the extrusion will happen on only one side of the sketch.",
        "labelRequired": true
      },
      {
        "name": "bidirectionalLength",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "If specified, will also extrude in the opposite direction to 'distance' to the specified distance. If 'symmetric' is true, this value is ignored.",
        "labelRequired": true
      },
      {
        "name": "tagStart",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "A named tag for the face at the start of the extrusion, i.e. the original sketch",
        "labelRequired": true
      },
      {
        "name": "tagEnd",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "A named tag for the face at the end of the extrusion, i.e. the new face created by extruding the original sketch",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Solid]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Solid",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Solid"
        },
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "example = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> arc(angleStart = 120, angleEnd = 0, radius = 5)\n  |> line(end = [5, 0])\n  |> line(end = [0, 10])\n  |> bezierCurve(control1 = [-10, 0], control2 = [2, 10], end = [-5, 10])\n  |> line(end = [-5, -2])\n  |> close()\n  |> extrude(length = 10)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [-10, 0])\n  |> arc(angleStart = 120, angleEnd = -60, radius = 5)\n  |> line(end = [10, 0])\n  |> line(end = [5, 0])\n  |> bezierCurve(control1 = [-3, 0], control2 = [2, 10], end = [-5, 10])\n  |> line(end = [-4, 10])\n  |> line(end = [-5, -2])\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [-10, 0])\n  |> arc(angleStart = 120, angleEnd = -60, radius = 5)\n  |> line(end = [10, 0])\n  |> line(end = [5, 0])\n  |> bezierCurve(control1 = [-3, 0], control2 = [2, 10], end = [-5, 10])\n  |> line(end = [-4, 10])\n  |> line(end = [-5, -2])\n  |> close()\n\nexample = extrude(exampleSketch, length = 20, symmetric = true)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [-10, 0])\n  |> arc(angleStart = 120, angleEnd = -60, radius = 5)\n  |> line(end = [10, 0])\n  |> line(end = [5, 0])\n  |> bezierCurve(control1 = [-3, 0], control2 = [2, 10], end = [-5, 10])\n  |> line(end = [-4, 10])\n  |> line(end = [-5, -2])\n  |> close()\n\nexample = extrude(exampleSketch, length = 10, bidirectionalLength = 50)",
        false
      ]
    ]
  },
  {
    "name": "getCommonEdge",
    "summary": "Get the shared edge between two faces.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "faces",
        "type": "[TagIdentifier]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_TagIdentifier",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TagIdentifier"
          },
          "definitions": {
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The tags of the faces you want to find the common edge between",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Uuid",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Uuid",
        "type": "string",
        "format": "uuid"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Get an edge shared between two faces, created after a chamfer.\n\n\nscale = 20\npart001 = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, scale])\n  |> line(end = [scale, 0])\n  |> line(end = [0, -scale])\n  |> close(tag = $line0)\n  |> extrude(length = 20, tagEnd = $end0)\n  // We tag the chamfer to reference it later.\n  |> chamfer(length = 10, tags = [getOppositeEdge(line0)], tag = $chamfer0)\n\n// Get the shared edge between the chamfer and the extrusion.\ncommonEdge = getCommonEdge(faces = [chamfer0, end0])\n\n// Chamfer the shared edge.\n// TODO: uncomment this when ssi for fillets lands\n// chamfer(part001, length = 5, tags = [commonEdge])",
        false
      ]
    ]
  },
  {
    "name": "getNextAdjacentEdge",
    "summary": "Get the next adjacent edge to the edge given.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "edge",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The tag of the edge you want to find the next adjacent edge of.",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Uuid",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Uuid",
        "type": "string",
        "format": "uuid"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> angledLine(angle = 60, length = 10)\n  |> angledLine(angle = 120, length = 10)\n  |> line(end = [-10, 0])\n  |> angledLine(angle = 240, length = 10, tag = $referenceEdge)\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)\n  |> fillet(radius = 3, tags = [getNextAdjacentEdge(referenceEdge)])",
        false
      ]
    ]
  },
  {
    "name": "getOppositeEdge",
    "summary": "Get the opposite edge to the edge given.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "edge",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The tag of the edge you want to find the opposite edge of.",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Uuid",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Uuid",
        "type": "string",
        "format": "uuid"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> angledLine(angle = 60, length = 10)\n  |> angledLine(angle = 120, length = 10)\n  |> line(end = [-10, 0])\n  |> angledLine(angle = 240, length = 10, tag = $referenceEdge)\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)\n  |> fillet(radius = 3, tags = [getOppositeEdge(referenceEdge)])",
        false
      ]
    ]
  },
  {
    "name": "getPreviousAdjacentEdge",
    "summary": "Get the previous adjacent edge to the edge given.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "edge",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The tag of the edge you want to find the previous adjacent edge of.",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Uuid",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Uuid",
        "type": "string",
        "format": "uuid"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> angledLine(angle = 60, length = 10)\n  |> angledLine(angle = 120, length = 10)\n  |> line(end = [-10, 0])\n  |> angledLine(angle = 240, length = 10, tag = $referenceEdge)\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)\n  |> fillet(radius = 3, tags = [getPreviousAdjacentEdge(referenceEdge)])",
        false
      ]
    ]
  },
  {
    "name": "intersect",
    "summary": "Intersect returns the shared volume between multiple solids, preserving only overlapping regions.",
    "description": "Intersect computes the geometric intersection of multiple solid bodies, returning a new solid representing the volume that is common to all input solids. This operation is useful for determining shared material regions, verifying fit, and analyzing overlapping geometries in assemblies.",
    "tags": [
      "solid"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "solids",
        "type": "[Solid]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Solid",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Solid"
          },
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solids to intersect.",
        "labelRequired": false
      },
      {
        "name": "tolerance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "The tolerance to use for the intersection operation.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Solid]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Solid",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Solid"
        },
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Intersect two cubes using the stdlib functions.\n\n\nfn cube(center, size) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] + size])\n    |> line(endAbsolute = [center[0] - size, center[1] + size])\n    |> close()\n    |> extrude(length = 10)\n}\n\npart001 = cube(center = [0, 0], size = 10)\npart002 = cube(center = [7, 3], size = 5)\n  |> translate(z = 1)\n\nintersectedPart = intersect([part001, part002])",
        false
      ],
      [
        "// Intersect two cubes using operators.\n// NOTE: This will not work when using codemods through the UI.\n// Codemods will generate the stdlib function call instead.\n\n\nfn cube(center, size) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] + size])\n    |> line(endAbsolute = [center[0] - size, center[1] + size])\n    |> close()\n    |> extrude(length = 10)\n}\n\npart001 = cube(center = [0, 0], size = 10)\npart002 = cube(center = [7, 3], size = 5)\n  |> translate(z = 1)\n\n// This is the equivalent of: intersect([part001, part002])\nintersectedPart = part001 & part002",
        false
      ]
    ]
  },
  {
    "name": "involuteCircular",
    "summary": "Extend the current sketch with a new involute circular curve.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "startRadius",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The involute is described between two circles, start_radius is the radius of the inner circle.",
        "labelRequired": true
      },
      {
        "name": "endRadius",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The involute is described between two circles, end_radius is the radius of the outer circle.",
        "labelRequired": true
      },
      {
        "name": "angle",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The angle to rotate the involute by. A value of zero will produce a curve with a tangent along the x-axis at the start point of the curve.",
        "labelRequired": true
      },
      {
        "name": "reverse",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If reverse is true, the segment will start from the end of the involute, otherwise it will start from that start. Defaults to false.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "a = 10\nb = 14\nstartSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> involuteCircular(startRadius = a, endRadius = b, angle = 60)\n  |> involuteCircular(\n       startRadius = a,\n       endRadius = b,\n       angle = 60,\n       reverse = true,\n     )",
        false
      ]
    ]
  },
  {
    "name": "lastSegX",
    "summary": "Extract the 'x' axis value of the last line segment in the provided 2-d sketch.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The sketch whose line segment is being queried",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "TyF64",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [5, 0])\n  |> line(end = [20, 5])\n  |> line(end = [lastSegX(%), 0])\n  |> line(end = [-15, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "lastSegY",
    "summary": "Extract the 'y' axis value of the last line segment in the provided 2-d sketch.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The sketch whose line segment is being queried",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "TyF64",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [5, 0])\n  |> line(end = [20, 5])\n  |> line(end = [0, lastSegY(%)])\n  |> line(end = [-15, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "line",
    "summary": "Extend the current sketch with a new straight line.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "endAbsolute",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Which absolute point should this line go to? Incompatible with `end`.",
        "labelRequired": true
      },
      {
        "name": "end",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "How far away (along the X and Y axes) should this line go? Incompatible with `endAbsolute`.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "triangle = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  // The END argument means it ends at exactly [10, 0].\n  // This is an absolute measurement, it is NOT relative to\n  // the start of the sketch.\n  |> line(endAbsolute = [10, 0])\n  |> line(endAbsolute = [0, 10])\n  |> line(endAbsolute = [-10, 0], tag = $thirdLineOfTriangle)\n  |> close()\n  |> extrude(length = 5)\n\nbox = startSketchOn(XZ)\n  |> startProfile(at = [10, 10])\n  // The 'to' argument means move the pen this much.\n  // So, [10, 0] is a relative distance away from the current point.\n  |> line(end = [10, 0])\n  |> line(end = [0, 10])\n  |> line(end = [-10, 0], tag = $thirdLineOfBox)\n  |> close()\n  |> extrude(length = 5)",
        false
      ]
    ]
  },
  {
    "name": "loft",
    "summary": "Create a 3D surface or solid by interpolating between two or more sketches.",
    "description": "The sketches need to closed and on the same plane.",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketches",
        "type": "[Sketch]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Sketch",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Sketch"
          },
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketches to loft. Must include at least 2 sketches.",
        "labelRequired": false
      },
      {
        "name": "vDegree",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "NonZeroU32",
          "type": "integer",
          "format": "uint32",
          "minimum": 1.0,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Degree of the interpolation. Must be greater than zero. For example, use 2 for quadratic, or 3 for cubic interpolation in the V direction. This defaults to 2, if not specified.",
        "labelRequired": true
      },
      {
        "name": "bezApproximateRational",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Boolean",
          "type": "boolean",
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Attempt to approximate rational curves (such as arcs) using a bezier. This will remove banding around interpolations between arcs and non-arcs. It may produce errors in other scenarios Over time, this field won't be necessary.",
        "labelRequired": true
      },
      {
        "name": "baseCurveIndex",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_uint32",
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0,
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "This can be set to override the automatically determined topological base curve, which is usually the first section encountered.",
        "labelRequired": true
      },
      {
        "name": "tolerance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "Tolerance for the loft operation.",
        "labelRequired": true
      },
      {
        "name": "tagStart",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "A named tag for the face at the start of the loft, i.e. the original sketch",
        "labelRequired": true
      },
      {
        "name": "tagEnd",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "A named tag for the face at the end of the loft, i.e. the last sketch",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Solid",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Solid",
        "type": "object",
        "required": [
          "artifactId",
          "height",
          "id",
          "sectional",
          "sketch",
          "units",
          "value"
        ],
        "properties": {
          "id": {
            "description": "The id of the solid.",
            "type": "string",
            "format": "uuid"
          },
          "artifactId": {
            "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "value": {
            "description": "The extrude surfaces.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtrudeSurface"
            }
          },
          "sketch": {
            "description": "The sketch.",
            "allOf": [
              {
                "$ref": "#/components/schemas/Sketch"
              }
            ]
          },
          "height": {
            "description": "The height of the solid.",
            "type": "number",
            "format": "double"
          },
          "startCapId": {
            "description": "The id of the extrusion start cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "endCapId": {
            "description": "The id of the extrusion end cap",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "edgeCuts": {
            "description": "Chamfers or fillets on this solid.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeCut"
            }
          },
          "units": {
            "description": "The units of the solid.",
            "allOf": [
              {
                "$ref": "#/components/schemas/UnitLen"
              }
            ]
          },
          "sectional": {
            "description": "Is this a sectional solid?",
            "type": "boolean"
          }
        },
        "definitions": {
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Loft a square and a triangle.\nsquareSketch = startSketchOn(XY)\n  |> startProfile(at = [-100, 200])\n  |> line(end = [200, 0])\n  |> line(end = [0, -200])\n  |> line(end = [-200, 0])\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\ntriangleSketch = startSketchOn(offsetPlane(XY, offset = 75))\n  |> startProfile(at = [0, 125])\n  |> line(end = [-15, -30])\n  |> line(end = [30, 0])\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\nloft([triangleSketch, squareSketch])",
        false
      ],
      [
        "// Loft a square, a circle, and another circle.\nsquareSketch = startSketchOn(XY)\n  |> startProfile(at = [-100, 200])\n  |> line(end = [200, 0])\n  |> line(end = [0, -200])\n  |> line(end = [-200, 0])\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\ncircleSketch0 = startSketchOn(offsetPlane(XY, offset = 75))\n  |> circle(center = [0, 100], radius = 50)\n\ncircleSketch1 = startSketchOn(offsetPlane(XY, offset = 150))\n  |> circle(center = [0, 100], radius = 20)\n\nloft([\n  squareSketch,\n  circleSketch0,\n  circleSketch1\n])",
        false
      ],
      [
        "// Loft a square, a circle, and another circle with options.\nsquareSketch = startSketchOn(XY)\n  |> startProfile(at = [-100, 200])\n  |> line(end = [200, 0])\n  |> line(end = [0, -200])\n  |> line(end = [-200, 0])\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\ncircleSketch0 = startSketchOn(offsetPlane(XY, offset = 75))\n  |> circle(center = [0, 100], radius = 50)\n\ncircleSketch1 = startSketchOn(offsetPlane(XY, offset = 150))\n  |> circle(center = [0, 100], radius = 20)\n\nloft(\n  [\n    squareSketch,\n    circleSketch0,\n    circleSketch1\n  ],\n  baseCurveIndex = 0,\n  bezApproximateRational = false,\n  tolerance = 0.000001,\n  vDegree = 2,\n)",
        false
      ]
    ]
  },
  {
    "name": "patternCircular2d",
    "summary": "Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketchSet",
        "type": "[Sketch]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Sketch",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Sketch"
          },
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch(es) to pattern",
        "labelRequired": false
      },
      {
        "name": "instances",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "uint32",
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The number of total instances. Must be greater than or equal to 1. This includes the original entity. For example, if instances is 2, there will be two copies -- the original, and one new copy. If instances is 1, this has no effect.",
        "labelRequired": true
      },
      {
        "name": "center",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The center about which to make the pattern. This is a 2D vector.",
        "labelRequired": true
      },
      {
        "name": "arcDegrees",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "The arc angle (in degrees) to place the repetitions. Must be greater than 0. Defaults to 360.",
        "labelRequired": true
      },
      {
        "name": "rotateDuplicates",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "Whether or not to rotate the duplicates as they are copied. Defaults to true.",
        "labelRequired": true
      },
      {
        "name": "useOriginal",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "If the target was sketched on an extrusion, setting this will use the original sketch as the target, not the entire joined solid. Defaults to false.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Sketch]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Sketch",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Sketch"
        },
        "definitions": {
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [.5, 25])\n  |> line(end = [0, 5])\n  |> line(end = [-1, 0])\n  |> line(end = [0, -5])\n  |> close()\n  |> patternCircular2d(\n       center = [0, 0],\n       instances = 13,\n       arcDegrees = 360,\n       rotateDuplicates = true,\n     )\n\nexample = extrude(exampleSketch, length = 1)",
        false
      ]
    ]
  },
  {
    "name": "patternCircular3d",
    "summary": "Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orientation of the solid with respect to the center of the circle is maintained.",
    "description": "",
    "tags": [
      "solid"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "solids",
        "type": "[Solid]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Solid",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Solid"
          },
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which solid(s) to pattern",
        "labelRequired": false
      },
      {
        "name": "instances",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "uint32",
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The number of total instances. Must be greater than or equal to 1. This includes the original entity. For example, if instances is 2, there will be two copies -- the original, and one new copy. If instances is 1, this has no effect.",
        "labelRequired": true
      },
      {
        "name": "axis",
        "type": "[number]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_3_of_double",
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 3,
          "minItems": 3,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The axis around which to make the pattern. This is a 3D vector",
        "labelRequired": true
      },
      {
        "name": "center",
        "type": "Point3d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_3_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 3,
          "minItems": 3,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The center about which to make the pattern. This is a 3D vector.",
        "labelRequired": true
      },
      {
        "name": "arcDegrees",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "The arc angle (in degrees) to place the repetitions. Must be greater than 0. Defaults to 360.",
        "labelRequired": true
      },
      {
        "name": "rotateDuplicates",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Whether or not to rotate the duplicates as they are copied. Defaults to true.",
        "labelRequired": true
      },
      {
        "name": "useOriginal",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If the target was sketched on an extrusion, setting this will use the original sketch as the target, not the entire joined solid. Defaults to false.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Solid]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Solid",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Solid"
        },
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// / Pattern using a named axis.\n\n\nexampleSketch = startSketchOn(XZ)\n  |> circle(center = [0, 0], radius = 1)\n\nexample = extrude(exampleSketch, length = -5)\n  |> patternCircular3d(\n       axis = X,\n       center = [10, -20, 0],\n       instances = 11,\n       arcDegrees = 360,\n       rotateDuplicates = true,\n     )",
        false
      ],
      [
        "// / Pattern using a raw axis.\n\n\nexampleSketch = startSketchOn(XZ)\n  |> circle(center = [0, 0], radius = 1)\n\nexample = extrude(exampleSketch, length = -5)\n  |> patternCircular3d(\n       axis = [1, -1, 0],\n       center = [10, -20, 0],\n       instances = 11,\n       arcDegrees = 360,\n       rotateDuplicates = true,\n     )",
        false
      ]
    ]
  },
  {
    "name": "patternLinear2d",
    "summary": "Repeat a 2-dimensional sketch along some dimension, with a dynamic amount of distance between each repetition, some specified number of times.",
    "description": "",
    "tags": [],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketches",
        "type": "[Sketch]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Sketch",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Sketch"
          },
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The sketch(es) to duplicate",
        "labelRequired": false
      },
      {
        "name": "instances",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "uint32",
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The number of total instances. Must be greater than or equal to 1. This includes the original entity. For example, if instances is 2, there will be two copies -- the original, and one new copy. If instances is 1, this has no effect.",
        "labelRequired": true
      },
      {
        "name": "distance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Distance between each repetition. Also known as 'spacing'.",
        "labelRequired": true
      },
      {
        "name": "axis",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The axis of the pattern. A 2D vector.",
        "labelRequired": true
      },
      {
        "name": "useOriginal",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": false,
        "description": "If the target was sketched on an extrusion, setting this will use the original sketch as the target, not the entire joined solid. Defaults to false.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Sketch]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Sketch",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Sketch"
        },
        "definitions": {
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// / Pattern using a named axis.\n\n\nexampleSketch = startSketchOn(XZ)\n  |> circle(center = [0, 0], radius = 1)\n  |> patternLinear2d(axis = X, instances = 7, distance = 4)\n\nexample = extrude(exampleSketch, length = 1)",
        false
      ],
      [
        "// / Pattern using a raw axis.\n\n\nexampleSketch = startSketchOn(XZ)\n  |> circle(center = [0, 0], radius = 1)\n  |> patternLinear2d(axis = [1, 0], instances = 7, distance = 4)\n\nexample = extrude(exampleSketch, length = 1)",
        false
      ]
    ]
  },
  {
    "name": "patternLinear3d",
    "summary": "Repeat a 3-dimensional solid along a linear path, with a dynamic amount of distance between each repetition, some specified number of times.",
    "description": "///",
    "tags": [
      "solid"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "solids",
        "type": "[Solid]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Solid",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Solid"
          },
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solid(s) to duplicate",
        "labelRequired": false
      },
      {
        "name": "instances",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "uint32",
          "type": "integer",
          "format": "uint32",
          "minimum": 0.0,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The number of total instances. Must be greater than or equal to 1. This includes the original entity. For example, if instances is 2, there will be two copies -- the original, and one new copy. If instances is 1, this has no effect.",
        "labelRequired": true
      },
      {
        "name": "distance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Distance between each repetition. Also known as 'spacing'.",
        "labelRequired": true
      },
      {
        "name": "axis",
        "type": "Point3d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_3_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 3,
          "minItems": 3,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The axis of the pattern. A 2D vector.",
        "labelRequired": true
      },
      {
        "name": "useOriginal",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If the target was sketched on an extrusion, setting this will use the original sketch as the target, not the entire joined solid. Defaults to false.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Solid]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Solid",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Solid"
        },
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// / Pattern using a named axis.\n\n\nexampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, 2])\n  |> line(end = [3, 1])\n  |> line(end = [0, -4])\n  |> close()\n\nexample = extrude(exampleSketch, length = 1)\n  |> patternLinear3d(axis = X, instances = 7, distance = 6)",
        false
      ],
      [
        "// / Pattern using a raw axis.\n\n\nexampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, 2])\n  |> line(end = [3, 1])\n  |> line(end = [0, -4])\n  |> close()\n\nexample = extrude(exampleSketch, length = 1)\n  |> patternLinear3d(axis = [1, 0, 1], instances = 7, distance = 6)",
        false
      ],
      [
        "// Pattern a whole sketch on face.\nsize = 100\ncase = startSketchOn(XY)\n  |> startProfile(at = [-size, -size])\n  |> line(end = [2 * size, 0])\n  |> line(end = [0, 2 * size])\n  |> tangentialArc(endAbsolute = [-size, size])\n  |> close(%)\n  |> extrude(length = 65)\n\nthing1 = startSketchOn(case, face = END)\n  |> circle(center = [-size / 2, -size / 2], radius = 25)\n  |> extrude(length = 50)\n\nthing2 = startSketchOn(case, face = END)\n  |> circle(center = [size / 2, -size / 2], radius = 25)\n  |> extrude(length = 50)\n\n  // We pass in the \"case\" here since we want to pattern the whole sketch.\n// And the case was the base of the sketch.\npatternLinear3d(\n  case,\n  axis = [1, 0, 0],\n  distance = 250,\n  instances = 2,\n)",
        false
      ],
      [
        "// Pattern an object on a face.\nsize = 100\ncase = startSketchOn(XY)\n  |> startProfile(at = [-size, -size])\n  |> line(end = [2 * size, 0])\n  |> line(end = [0, 2 * size])\n  |> tangentialArc(endAbsolute = [-size, size])\n  |> close(%)\n  |> extrude(length = 65)\n\nthing1 = startSketchOn(case, face = END)\n  |> circle(center = [-size / 2, -size / 2], radius = 25)\n  |> extrude(length = 50)\n\n// We pass in `thing1` here with `useOriginal` since we want to pattern just this object on the face.\npatternLinear3d(\n  thing1,\n  axis = [1, 0, 0],\n  distance = size,\n  instances = 2,\n  useOriginal = true,\n)",
        false
      ]
    ]
  },
  {
    "name": "polygon",
    "summary": "Create a regular polygon with the specified number of sides that is either inscribed or circumscribed around a circle of the specified radius.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketchSurfaceOrGroup",
        "type": "SketchOrSurface",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SketchOrSurface",
          "description": "A sketch surface or a sketch.",
          "anyOf": [
            {
              "$ref": "#/components/schemas/SketchSurface"
            },
            {
              "$ref": "#/components/schemas/Sketch"
            }
          ],
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Plane or surface to sketch on",
        "labelRequired": false
      },
      {
        "name": "radius",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TyF64",
          "type": "number",
          "format": "double",
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The radius of the polygon",
        "labelRequired": true
      },
      {
        "name": "numSides",
        "type": "u64",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "uint64",
          "type": "integer",
          "format": "uint64",
          "minimum": 0.0,
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The number of sides in the polygon",
        "labelRequired": true
      },
      {
        "name": "center",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The center point of the polygon",
        "labelRequired": true
      },
      {
        "name": "inscribed",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Whether the polygon is inscribed (true, the default) or circumscribed (false) about a circle with the specified radius",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Create a regular hexagon inscribed in a circle of radius 10\nhex = startSketchOn(XY)\n  |> polygon(\n       radius = 10,\n       numSides = 6,\n       center = [0, 0],\n       inscribed = true,\n     )\n\nexample = extrude(hex, length = 5)",
        false
      ],
      [
        "// Create a square circumscribed around a circle of radius 5\nsquare = startSketchOn(XY)\n  |> polygon(\n       radius = 5.0,\n       numSides = 4,\n       center = [10, 10],\n       inscribed = false,\n     )\nexample = extrude(square, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "profileStart",
    "summary": "Extract the provided 2-dimensional sketch's profile's origin value.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "profile",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Profile whose start is being used",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[number]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_size_2_of_double",
        "type": "array",
        "items": {
          "type": "number",
          "format": "double"
        },
        "maxItems": 2,
        "minItems": 2
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "sketch001 = startSketchOn(XY)\n  |> startProfile(at = [5, 2])\n  |> angledLine(angle = 120, length = 50, tag = $seg01)\n  |> angledLine(angle = segAng(seg01) + 120, length = 50)\n  |> line(end = profileStart(%))\n  |> close()\n  |> extrude(length = 20)",
        false
      ]
    ]
  },
  {
    "name": "profileStartX",
    "summary": "Extract the provided 2-dimensional sketch's profile's origin's 'x' value.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "profile",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Profile whose start is being used",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "double",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "sketch001 = startSketchOn(XY)\n  |> startProfile(at = [5, 2])\n  |> angledLine(angle = -26.6, length = 50)\n  |> angledLine(angle = 90, length = 50)\n  |> angledLine(angle = 30, endAbsoluteX = profileStartX(%))",
        false
      ]
    ]
  },
  {
    "name": "profileStartY",
    "summary": "Extract the provided 2-dimensional sketch's profile's origin's 'y' value.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "profile",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Profile whose start is being used",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "double",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "sketch001 = startSketchOn(XY)\n  |> startProfile(at = [5, 2])\n  |> angledLine(angle = -60, length = 14)\n  |> angledLine(angle = 30, endAbsoluteY = profileStartY(%))",
        false
      ]
    ]
  },
  {
    "name": "rotate",
    "summary": "Rotate a solid or a sketch.",
    "description": "This is really useful for assembling parts together. You can create a part and then rotate it to the correct orientation.\n\nFor sketches, you can use this to rotate a sketch and then loft it with another sketch.\n\n### Using Roll, Pitch, and Yaw\n\nWhen rotating a part in 3D space, \"roll,\" \"pitch,\" and \"yaw\" refer to the three rotational axes used to describe its orientation: roll is rotation around the longitudinal axis (front-to-back), pitch is rotation around the lateral axis (wing-to-wing), and yaw is rotation around the vertical axis (up-down); essentially, it's like tilting the part on its side (roll), tipping the nose up or down (pitch), and turning it left or right (yaw).\n\nSo, in the context of a 3D model:\n\n- **Roll**: Imagine spinning a pencil on its tip - that's a roll movement.\n\n- **Pitch**: Think of a seesaw motion, where the object tilts up or down along its side axis.\n\n- **Yaw**: Like turning your head left or right, this is a rotation around the vertical axis\n\n### Using an Axis and Angle\n\nWhen rotating a part around an axis, you specify the axis of rotation and the angle of rotation.",
    "tags": [
      "transform"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "objects",
        "type": "SolidOrSketchOrImportedGeometry",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SolidOrSketchOrImportedGeometry",
          "description": "Data for a solid, sketch, or an imported geometry.",
          "oneOf": [
            {
              "description": "Data for an imported geometry.",
              "type": "object",
              "required": [
                "id",
                "type",
                "value"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "importedGeometry"
                  ]
                },
                "id": {
                  "description": "The ID of the imported geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "description": "The original file paths.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "$ref": "#/components/schemas/Solid"
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "solidSet"
                  ]
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "$ref": "#/components/schemas/Sketch"
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchSet"
                  ]
                }
              }
            }
          ],
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solid, sketch, or set of solids or sketches to rotate.",
        "labelRequired": false
      },
      {
        "name": "roll",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The roll angle in degrees. Must be between -360 and 360. Default is 0 if not given.",
        "labelRequired": true
      },
      {
        "name": "pitch",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The pitch angle in degrees. Must be between -360 and 360. Default is 0 if not given.",
        "labelRequired": true
      },
      {
        "name": "yaw",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The yaw angle in degrees. Must be between -360 and 360. Default is 0 if not given.",
        "labelRequired": true
      },
      {
        "name": "axis",
        "type": "[number]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Array_size_3_of_double",
          "type": "array",
          "items": {
            "type": "number",
            "format": "double"
          },
          "maxItems": 3,
          "minItems": 3,
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "The axis to rotate around. Must be used with `angle`.",
        "labelRequired": true
      },
      {
        "name": "angle",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "The angle to rotate in degrees. Must be used with `axis`. Must be between -360 and 360.",
        "labelRequired": true
      },
      {
        "name": "global",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If true, the transform is applied in global space. The origin of the model will move. By default, the transform is applied in local sketch axis, therefore the origin will not move.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SolidOrSketchOrImportedGeometry",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "SolidOrSketchOrImportedGeometry",
        "description": "Data for a solid, sketch, or an imported geometry.",
        "oneOf": [
          {
            "description": "Data for an imported geometry.",
            "type": "object",
            "required": [
              "id",
              "type",
              "value"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "importedGeometry"
                ]
              },
              "id": {
                "description": "The ID of the imported geometry.",
                "type": "string",
                "format": "uuid"
              },
              "value": {
                "description": "The original file paths.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Solid"
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "solidSet"
                ]
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Sketch"
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sketchSet"
                ]
              }
            }
          }
        ],
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Rotate a pipe with roll, pitch, and yaw.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)\n  |> rotate(roll = 10, pitch = 10, yaw = 90)",
        false
      ],
      [
        "// Rotate a pipe with just roll.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)\n  |> rotate(roll = 10)",
        false
      ],
      [
        "// Rotate a pipe about a named axis with an angle.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)\n  |> rotate(axis = Z, angle = 90)",
        false
      ],
      [
        "// Rotate an imported model.\n\n\nimport \"tests/inputs/cube.sldprt\" as cube\n\ncube\n  |> rotate(axis = [0, 0, 1.0], angle = 9)",
        false
      ],
      [
        "// Rotate a pipe about a raw axis with an angle.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)\n  |> rotate(axis = [0, 0, 1.0], angle = 90)",
        false
      ],
      [
        "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfile(sketch001, at = [-200, 23.86])\n  |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)\n  |> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)\n  |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfile(sketch002, at = [0, 0])\n  |> yLine(length = 231.81)\n  |> tangentialArc(radius = 80, angle = -90)\n  |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Rotate the sweeps.\nrotate(parts, axis = [0, 0, 1.0], angle = 90)",
        false
      ],
      [
        "// Translate and rotate a sketch to create a loft.\nsketch001 = startSketchOn(XY)\n\nfn square() {\n  return startProfile(sketch001, at = [-10, 10])\n    |> xLine(length = 20)\n    |> yLine(length = -20)\n    |> xLine(length = -20)\n    |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n    |> close()\n}\n\nprofile001 = square()\n\nprofile002 = square()\n  |> translate(x = 0, y = 0, z = 20)\n  |> rotate(axis = [0, 0, 1.0], angle = 45)\n\nloft([profile001, profile002])",
        false
      ]
    ]
  },
  {
    "name": "scale",
    "summary": "Scale a solid or a sketch.",
    "description": "This is really useful for resizing parts. You can create a part and then scale it to the correct size.\n\nFor sketches, you can use this to scale a sketch and then loft it with another sketch.\n\nBy default the transform is applied in local sketch axis, therefore the origin will not move.\n\nIf you want to apply the transform in global space, set `global` to `true`. The origin of the model will move. If the model is not centered on origin and you scale globally it will look like the model moves and gets bigger at the same time. Say you have a square `(1,1) - (1,2) - (2,2) - (2,1)` and you scale by 2 globally it will become `(2,2) - (2,4)`...etc so the origin has moved from `(1.5, 1.5)` to `(2,2)`.",
    "tags": [
      "transform"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "objects",
        "type": "SolidOrSketchOrImportedGeometry",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SolidOrSketchOrImportedGeometry",
          "description": "Data for a solid, sketch, or an imported geometry.",
          "oneOf": [
            {
              "description": "Data for an imported geometry.",
              "type": "object",
              "required": [
                "id",
                "type",
                "value"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "importedGeometry"
                  ]
                },
                "id": {
                  "description": "The ID of the imported geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "description": "The original file paths.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "$ref": "#/components/schemas/Solid"
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "solidSet"
                  ]
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "$ref": "#/components/schemas/Sketch"
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchSet"
                  ]
                }
              }
            }
          ],
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solid, sketch, or set of solids or sketches to scale.",
        "labelRequired": false
      },
      {
        "name": "x",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The scale factor for the x axis. Default is 1 if not provided.",
        "labelRequired": true
      },
      {
        "name": "y",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The scale factor for the y axis. Default is 1 if not provided.",
        "labelRequired": true
      },
      {
        "name": "z",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_double",
          "type": "number",
          "format": "double",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The scale factor for the z axis. Default is 1 if not provided.",
        "labelRequired": true
      },
      {
        "name": "global",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If true, the transform is applied in global space. The origin of the model will move. By default, the transform is applied in local sketch axis, therefore the origin will not move.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SolidOrSketchOrImportedGeometry",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "SolidOrSketchOrImportedGeometry",
        "description": "Data for a solid, sketch, or an imported geometry.",
        "oneOf": [
          {
            "description": "Data for an imported geometry.",
            "type": "object",
            "required": [
              "id",
              "type",
              "value"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "importedGeometry"
                ]
              },
              "id": {
                "description": "The ID of the imported geometry.",
                "type": "string",
                "format": "uuid"
              },
              "value": {
                "description": "The original file paths.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Solid"
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "solidSet"
                ]
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Sketch"
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sketchSet"
                ]
              }
            }
          }
        ],
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Scale a pipe.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)\n  |> scale(z = 2.5)",
        false
      ],
      [
        "// Scale an imported model.\n\n\nimport \"tests/inputs/cube.sldprt\" as cube\n\ncube\n  |> scale(y = 2.5)",
        false
      ],
      [
        "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfile(sketch001, at = [-200, 23.86])\n  |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)\n  |> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)\n  |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfile(sketch002, at = [0, 0])\n  |> yLine(length = 231.81)\n  |> tangentialArc(radius = 80, angle = -90)\n  |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Scale the sweep.\nscale(parts, z = 0.5)",
        false
      ]
    ]
  },
  {
    "name": "segAng",
    "summary": "Compute the angle (in degrees) of the provided line segment.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "double",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> line(end = [5, 10], tag = $seg01)\n  |> line(end = [-10, 0])\n  |> angledLine(angle = segAng(seg01), length = 10)\n  |> line(end = [-10, 0])\n  |> angledLine(angle = segAng(seg01), length = -15)\n  |> close()\n\nexample = extrude(exampleSketch, length = 4)",
        false
      ]
    ]
  },
  {
    "name": "segEnd",
    "summary": "Compute the ending point of the provided line segment.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Point2d",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_size_2_of_TyF64",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TyF64"
        },
        "maxItems": 2,
        "minItems": 2,
        "definitions": {
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "w = 15\ncube = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> line(end = [w, 0], tag = $line1)\n  |> line(end = [0, w], tag = $line2)\n  |> line(end = [-w, 0], tag = $line3)\n  |> line(end = [0, -w], tag = $line4)\n  |> close()\n  |> extrude(length = 5)\n\nfn cylinder(radius, tag) {\n  return startSketchOn(XY)\n    |> startProfile(at = [0, 0])\n    |> circle(radius = radius, center = segEnd(tag))\n    |> extrude(length = radius)\n}\n\ncylinder(radius = 1, tag = line1)\ncylinder(radius = 2, tag = line2)\ncylinder(radius = 3, tag = line3)\ncylinder(radius = 4, tag = line4)",
        false
      ]
    ]
  },
  {
    "name": "segEndX",
    "summary": "Compute the ending point of the provided line segment along the 'x' axis.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "TyF64",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [20, 0], tag = $thing)\n  |> line(end = [0, 5])\n  |> line(end = [segEndX(thing), 0])\n  |> line(end = [-20, 10])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "segEndY",
    "summary": "Compute the ending point of the provided line segment along the 'y' axis.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "TyF64",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [20, 0])\n  |> line(end = [0, 3], tag = $thing)\n  |> line(end = [-10, 0])\n  |> line(end = [0, segEndY(thing)])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "segLen",
    "summary": "Compute the length of the provided line segment.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "TyF64",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> angledLine(angle = 60, length = 10, tag = $thing)\n  |> tangentialArc(angle = -120, radius = 5)\n  |> angledLine(angle = -60, length = segLen(thing))\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "segStart",
    "summary": "Compute the starting point of the provided line segment.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Point2d",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_size_2_of_TyF64",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TyF64"
        },
        "maxItems": 2,
        "minItems": 2,
        "definitions": {
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "w = 15\ncube = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> line(end = [w, 0], tag = $line1)\n  |> line(end = [0, w], tag = $line2)\n  |> line(end = [-w, 0], tag = $line3)\n  |> line(end = [0, -w], tag = $line4)\n  |> close()\n  |> extrude(length = 5)\n\nfn cylinder(radius, tag) {\n  return startSketchOn(XY)\n    |> startProfile(at = [0, 0])\n    |> circle(radius = radius, center = segStart(tag))\n    |> extrude(length = radius)\n}\n\ncylinder(radius = 1, tag = line1)\ncylinder(radius = 2, tag = line2)\ncylinder(radius = 3, tag = line3)\ncylinder(radius = 4, tag = line4)",
        false
      ]
    ]
  },
  {
    "name": "segStartX",
    "summary": "Compute the starting point of the provided line segment along the 'x' axis.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "TyF64",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [20, 0], tag = $thing)\n  |> line(end = [0, 5])\n  |> line(end = [20 - segStartX(thing), 0])\n  |> line(end = [-20, 10])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "segStartY",
    "summary": "Compute the starting point of the provided line segment along the 'y' axis.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "TyF64",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [20, 0])\n  |> line(end = [0, 3], tag = $thing)\n  |> line(end = [-10, 0])\n  |> line(end = [0, 20 - segStartY(thing)])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "startProfile",
    "summary": "Start a new profile at a given point.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketchSurface",
        "type": "SketchSurface",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SketchSurface",
          "description": "A sketch type.",
          "oneOf": [
            {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "origin",
                "type",
                "value",
                "xAxis",
                "yAxis"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "plane"
                  ]
                },
                "id": {
                  "description": "The id of the plane.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "$ref": "#/components/schemas/PlaneType"
                },
                "origin": {
                  "description": "Origin of the plane.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "xAxis": {
                  "description": "What should the plane's X axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "yAxis": {
                  "description": "What should the plane's Y axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                }
              }
            },
            {
              "description": "A face.",
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "solid",
                "type",
                "units",
                "value",
                "xAxis",
                "yAxis"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "face"
                  ]
                },
                "id": {
                  "description": "The id of the face.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The tag of the face.",
                  "type": "string"
                },
                "xAxis": {
                  "description": "What should the face's X axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "yAxis": {
                  "description": "What should the face's Y axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "solid": {
                  "description": "The solid the face is on.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Solid"
                    }
                  ]
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            }
          ],
          "definitions": {
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "What to start the profile on",
        "labelRequired": false
      },
      {
        "name": "at",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "definitions": {
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Where to start the profile. An absolute point.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Tag this first starting point",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> line(end = [0, 10])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ],
      [
        "exampleSketch = startSketchOn(-XZ)\n  |> startProfile(at = [10, 10])\n  |> line(end = [10, 0])\n  |> line(end = [0, 10])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ],
      [
        "exampleSketch = startSketchOn(-XZ)\n  |> startProfile(at = [-10, 23])\n  |> line(end = [10, 0])\n  |> line(end = [0, 10])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)",
        false
      ]
    ]
  },
  {
    "name": "startSketchOn",
    "summary": "Start a new 2-dimensional sketch on a specific plane or face.",
    "description": "### Sketch on Face Behavior\n\nThere are some important behaviors to understand when sketching on a face:\n\nThe resulting sketch will _include_ the face and thus Solid that was sketched on. So say you were to export the resulting Sketch / Solid from a sketch on a face, you would get both the artifact of the sketch on the face and the parent face / Solid itself.\n\nThis is important to understand because if you were to then sketch on the resulting Solid, it would again include the face and parent Solid that was sketched on. This could go on indefinitely.\n\nThe point is if you want to export the result of a sketch on a face, you only need to export the final Solid that was created from the sketch on the face, since it will include all the parent faces and Solids.",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "planeOrSolid",
        "type": "SketchData",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SketchData",
          "description": "Data for start sketch on. You can start a sketch on a plane or an solid.",
          "anyOf": [
            {
              "$ref": "#/components/schemas/PlaneData"
            },
            {
              "$ref": "#/components/schemas/Plane"
            },
            {
              "$ref": "#/components/schemas/Solid"
            }
          ],
          "definitions": {
            "PlaneData": {
              "description": "Orientation data that can be used to construct a plane, not a plane in itself.",
              "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": {
                      "$ref": "#/components/schemas/PlaneInfo"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "PlaneInfo": {
              "type": "object",
              "required": [
                "origin",
                "xAxis",
                "yAxis"
              ],
              "properties": {
                "origin": {
                  "description": "Origin of the plane.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "xAxis": {
                  "description": "What should the plane's X axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "yAxis": {
                  "description": "What should the plane's Y axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                }
              }
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Plane": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "origin",
                "value",
                "xAxis",
                "yAxis"
              ],
              "properties": {
                "id": {
                  "description": "The id of the plane.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "$ref": "#/components/schemas/PlaneType"
                },
                "origin": {
                  "description": "Origin of the plane.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "xAxis": {
                  "description": "What should the plane's X axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "yAxis": {
                  "description": "What should the plane's Y axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The plane or solid to sketch on",
        "labelRequired": false
      },
      {
        "name": "face",
        "type": "FaceTag",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_FaceTag",
          "allOf": [
            {
              "$ref": "#/components/schemas/FaceTag"
            }
          ],
          "nullable": true,
          "definitions": {
            "PlaneData": {
              "description": "Orientation data that can be used to construct a plane, not a plane in itself.",
              "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": {
                      "$ref": "#/components/schemas/PlaneInfo"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "PlaneInfo": {
              "type": "object",
              "required": [
                "origin",
                "xAxis",
                "yAxis"
              ],
              "properties": {
                "origin": {
                  "description": "Origin of the plane.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "xAxis": {
                  "description": "What should the plane's X axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "yAxis": {
                  "description": "What should the plane's Y axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                }
              }
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "Plane": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "origin",
                "value",
                "xAxis",
                "yAxis"
              ],
              "properties": {
                "id": {
                  "description": "The id of the plane.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "$ref": "#/components/schemas/PlaneType"
                },
                "origin": {
                  "description": "Origin of the plane.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "xAxis": {
                  "description": "What should the plane's X axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                },
                "yAxis": {
                  "description": "What should the plane's Y axis be?",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Point3d"
                    }
                  ]
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "FaceTag": {
              "description": "A tag for a face.",
              "anyOf": [
                {
                  "$ref": "#/components/schemas/StartOrEnd"
                },
                {
                  "description": "A tag for the face.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagIdentifier"
                    }
                  ]
                }
              ]
            },
            "StartOrEnd": {
              "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"
                  ]
                }
              ]
            }
          }
        },
        "required": false,
        "description": "Identify a face of a solid if a solid is specified as the input argument (`plane_or_solid`)",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SketchSurface",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "SketchSurface",
        "description": "A sketch type.",
        "oneOf": [
          {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "origin",
              "type",
              "value",
              "xAxis",
              "yAxis"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "plane"
                ]
              },
              "id": {
                "description": "The id of the plane.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "$ref": "#/components/schemas/PlaneType"
              },
              "origin": {
                "description": "Origin of the plane.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Point3d"
                  }
                ]
              },
              "xAxis": {
                "description": "What should the plane's X axis be?",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Point3d"
                  }
                ]
              },
              "yAxis": {
                "description": "What should the plane's Y axis be?",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Point3d"
                  }
                ]
              }
            }
          },
          {
            "description": "A face.",
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "solid",
              "type",
              "units",
              "value",
              "xAxis",
              "yAxis"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "face"
                ]
              },
              "id": {
                "description": "The id of the face.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The tag of the face.",
                "type": "string"
              },
              "xAxis": {
                "description": "What should the face's X axis be?",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Point3d"
                  }
                ]
              },
              "yAxis": {
                "description": "What should the face's Y axis be?",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Point3d"
                  }
                ]
              },
              "solid": {
                "description": "The solid the face is on.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Solid"
                  }
                ]
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          }
        ],
        "definitions": {
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> line(end = [0, 10])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5)\n\nexampleSketch002 = startSketchOn(example, face = END)\n  |> startProfile(at = [1, 1])\n  |> line(end = [8, 0])\n  |> line(end = [0, 8])\n  |> line(end = [-8, 0])\n  |> close()\n\nexample002 = extrude(exampleSketch002, length = 5)\n\nexampleSketch003 = startSketchOn(example002, face = END)\n  |> startProfile(at = [2, 2])\n  |> line(end = [6, 0])\n  |> line(end = [0, 6])\n  |> line(end = [-6, 0])\n  |> close()\n\nexample003 = extrude(exampleSketch003, length = 5)",
        false
      ],
      [
        "// Sketch on the end of an extruded face by tagging the end face.\n\n\nexampleSketch = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> line(end = [0, 10])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 5, tagEnd = $end01)\n\nexampleSketch002 = startSketchOn(example, face = end01)\n  |> startProfile(at = [1, 1])\n  |> line(end = [8, 0])\n  |> line(end = [0, 8])\n  |> line(end = [-8, 0])\n  |> close()\n\nexample002 = extrude(exampleSketch002, length = 5, tagEnd = $end02)\n\nexampleSketch003 = startSketchOn(example002, face = end02)\n  |> startProfile(at = [2, 2])\n  |> line(end = [6, 0])\n  |> line(end = [0, 6])\n  |> line(end = [-6, 0])\n  |> close()\n\nexample003 = extrude(exampleSketch003, length = 5)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0])\n  |> line(end = [0, 10], tag = $sketchingFace)\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)\n\nexampleSketch002 = startSketchOn(example, face = sketchingFace)\n  |> startProfile(at = [1, 1])\n  |> line(end = [8, 0])\n  |> line(end = [0, 8])\n  |> line(end = [-8, 0])\n  |> close(tag = $sketchingFace002)\n\nexample002 = extrude(exampleSketch002, length = 10)\n\nexampleSketch003 = startSketchOn(example002, face = sketchingFace002)\n  |> startProfile(at = [-8, 12])\n  |> line(end = [0, 6])\n  |> line(end = [6, 0])\n  |> line(end = [0, -6])\n  |> close()\n\nexample003 = extrude(exampleSketch003, length = 5)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XY)\n  |> startProfile(at = [4, 12])\n  |> line(end = [2, 0])\n  |> line(end = [0, -6])\n  |> line(end = [4, -6])\n  |> line(end = [0, -6])\n  |> line(end = [-3.75, -4.5])\n  |> line(end = [0, -5.5])\n  |> line(end = [-2, 0])\n  |> close()\n\nexample = revolve(exampleSketch, axis = Y, angle = 180)\n\nexampleSketch002 = startSketchOn(example, face = END)\n  |> startProfile(at = [4.5, -5])\n  |> line(end = [0, 5])\n  |> line(end = [5, 0])\n  |> line(end = [0, -5])\n  |> close()\n\nexample002 = extrude(exampleSketch002, length = 5)",
        false
      ],
      [
        "// Sketch on the end of a revolved face by tagging the end face.\n\n\nexampleSketch = startSketchOn(XY)\n  |> startProfile(at = [4, 12])\n  |> line(end = [2, 0])\n  |> line(end = [0, -6])\n  |> line(end = [4, -6])\n  |> line(end = [0, -6])\n  |> line(end = [-3.75, -4.5])\n  |> line(end = [0, -5.5])\n  |> line(end = [-2, 0])\n  |> close()\n\nexample = revolve(\n  exampleSketch,\n  axis = Y,\n  angle = 180,\n  tagEnd = $end01,\n)\n\nexampleSketch002 = startSketchOn(example, face = end01)\n  |> startProfile(at = [4.5, -5])\n  |> line(end = [0, 5])\n  |> line(end = [5, 0])\n  |> line(end = [0, -5])\n  |> close()\n\nexample002 = extrude(exampleSketch002, length = 5)",
        false
      ],
      [
        "a1 = startSketchOn({\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  |> startProfile(at = [0, 0])\n  |> line(end = [100.0, 0])\n  |> yLine(length = -100.0)\n  |> xLine(length = -100.0)\n  |> yLine(length = 100.0)\n  |> close()\n  |> extrude(length = 3.14)",
        false
      ]
    ]
  },
  {
    "name": "subtract",
    "summary": "Subtract removes tool solids from base solids, leaving the remaining material.",
    "description": "Performs a boolean subtraction operation, removing the volume of one or more tool solids from one or more base solids. The result is a new solid representing the material that remains after all tool solids have been cut away. This function is essential for machining simulations, cavity creation, and complex multi-body part modeling.",
    "tags": [
      "solid"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "solids",
        "type": "[Solid]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Solid",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Solid"
          },
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solids to use as the base to subtract from.",
        "labelRequired": false
      },
      {
        "name": "tools",
        "type": "[Solid]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Solid",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Solid"
          },
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solids to subtract.",
        "labelRequired": true
      },
      {
        "name": "tolerance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "The tolerance to use for the subtraction operation.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Solid]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Solid",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Solid"
        },
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Subtract a cylinder from a cube using the stdlib functions.\n\n\nfn cube(center, size) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] + size])\n    |> line(endAbsolute = [center[0] - size, center[1] + size])\n    |> close()\n    |> extrude(length = 10)\n}\n\npart001 = cube(center = [0, 0], size = 10)\npart002 = cube(center = [7, 3], size = 5)\n  |> translate(z = 1)\n\nsubtractedPart = subtract([part001], tools = [part002])",
        false
      ],
      [
        "// Subtract a cylinder from a cube using operators.\n// NOTE: This will not work when using codemods through the UI.\n// Codemods will generate the stdlib function call instead.\n\n\nfn cube(center, size) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] + size])\n    |> line(endAbsolute = [center[0] - size, center[1] + size])\n    |> close()\n    |> extrude(length = 10)\n}\n\npart001 = cube(center = [0, 0], size = 10)\npart002 = cube(center = [7, 3], size = 5)\n  |> translate(z = 1)\n\n// This is the equivalent of: subtract([part001], tools=[part002])\nsubtractedPart = part001 - part002",
        false
      ]
    ]
  },
  {
    "name": "subtract2d",
    "summary": "Use a 2-dimensional sketch to cut a hole in another 2-dimensional sketch.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "tool",
        "type": "[Sketch]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Sketch",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Sketch"
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The shape(s) which should be cut out of the sketch.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, 5])\n  |> line(end = [5, 0])\n  |> line(end = [0, -5])\n  |> close()\n  |> subtract2d(tool = circle(center = [1, 1], radius = .25))\n  |> subtract2d(tool = circle(center = [1, 4], radius = .25))\n\nexample = extrude(exampleSketch, length = 1)",
        false
      ],
      [
        "fn squareHoleSketch() {\n  squareSketch = startSketchOn(-XZ)\n    |> startProfile(at = [-1, -1])\n    |> line(end = [2, 0])\n    |> line(end = [0, 2])\n    |> line(end = [-2, 0])\n    |> close()\n  return squareSketch\n}\n\nexampleSketch = startSketchOn(-XZ)\n  |> circle(center = [0, 0], radius = 3)\n  |> subtract2d(tool = squareHoleSketch())\nexample = extrude(exampleSketch, length = 1)",
        false
      ]
    ]
  },
  {
    "name": "sweep",
    "summary": "Extrude a sketch along a path.",
    "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 path. This is useful for creating more complex shapes that can't be created with a simple extrusion.\n\nYou can provide more than one sketch to sweep, and they will all be swept along the same path.",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketches",
        "type": "[Sketch]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Sketch",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Sketch"
          },
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The sketch or set of sketches that should be swept in space",
        "labelRequired": false
      },
      {
        "name": "path",
        "type": "SweepPath",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SweepPath",
          "description": "A path to sweep along.",
          "anyOf": [
            {
              "$ref": "#/components/schemas/Sketch"
            },
            {
              "$ref": "#/components/schemas/Helix"
            }
          ],
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "Helix": {
              "description": "A helix.",
              "type": "object",
              "required": [
                "angleStart",
                "artifactId",
                "ccw",
                "revolutions",
                "units",
                "value"
              ],
              "properties": {
                "value": {
                  "description": "The id of the helix.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "revolutions": {
                  "description": "Number of revolutions.",
                  "type": "number",
                  "format": "double"
                },
                "angleStart": {
                  "description": "Start angle (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "ccw": {
                  "description": "Is the helix rotation counter clockwise?",
                  "type": "boolean"
                },
                "cylinderId": {
                  "description": "The cylinder the helix was created on.",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The path to sweep the sketch along",
        "labelRequired": true
      },
      {
        "name": "sectional",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "Helix": {
              "description": "A helix.",
              "type": "object",
              "required": [
                "angleStart",
                "artifactId",
                "ccw",
                "revolutions",
                "units",
                "value"
              ],
              "properties": {
                "value": {
                  "description": "The id of the helix.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "revolutions": {
                  "description": "Number of revolutions.",
                  "type": "number",
                  "format": "double"
                },
                "angleStart": {
                  "description": "Start angle (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "ccw": {
                  "description": "Is the helix rotation counter clockwise?",
                  "type": "boolean"
                },
                "cylinderId": {
                  "description": "The cylinder the helix was created on.",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            }
          }
        },
        "required": false,
        "description": "If true, the sweep will be broken up into sub-sweeps (extrusions, revolves, sweeps) based on the trajectory path components.",
        "labelRequired": true
      },
      {
        "name": "tolerance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "Helix": {
              "description": "A helix.",
              "type": "object",
              "required": [
                "angleStart",
                "artifactId",
                "ccw",
                "revolutions",
                "units",
                "value"
              ],
              "properties": {
                "value": {
                  "description": "The id of the helix.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "revolutions": {
                  "description": "Number of revolutions.",
                  "type": "number",
                  "format": "double"
                },
                "angleStart": {
                  "description": "Start angle (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "ccw": {
                  "description": "Is the helix rotation counter clockwise?",
                  "type": "boolean"
                },
                "cylinderId": {
                  "description": "The cylinder the helix was created on.",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            }
          }
        },
        "required": false,
        "description": "Tolerance for this operation",
        "labelRequired": true
      },
      {
        "name": "relativeTo",
        "type": "string",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_String",
          "type": "string",
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "Helix": {
              "description": "A helix.",
              "type": "object",
              "required": [
                "angleStart",
                "artifactId",
                "ccw",
                "revolutions",
                "units",
                "value"
              ],
              "properties": {
                "value": {
                  "description": "The id of the helix.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "revolutions": {
                  "description": "Number of revolutions.",
                  "type": "number",
                  "format": "double"
                },
                "angleStart": {
                  "description": "Start angle (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "ccw": {
                  "description": "Is the helix rotation counter clockwise?",
                  "type": "boolean"
                },
                "cylinderId": {
                  "description": "The cylinder the helix was created on.",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            }
          }
        },
        "required": false,
        "description": "What is the sweep relative to? Can be either 'sketchPlane' or 'trajectoryCurve'. Defaults to trajectoryCurve.",
        "labelRequired": true
      },
      {
        "name": "tagStart",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "Helix": {
              "description": "A helix.",
              "type": "object",
              "required": [
                "angleStart",
                "artifactId",
                "ccw",
                "revolutions",
                "units",
                "value"
              ],
              "properties": {
                "value": {
                  "description": "The id of the helix.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "revolutions": {
                  "description": "Number of revolutions.",
                  "type": "number",
                  "format": "double"
                },
                "angleStart": {
                  "description": "Start angle (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "ccw": {
                  "description": "Is the helix rotation counter clockwise?",
                  "type": "boolean"
                },
                "cylinderId": {
                  "description": "The cylinder the helix was created on.",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            }
          }
        },
        "required": false,
        "description": "A named tag for the face at the start of the sweep, i.e. the original sketch",
        "labelRequired": true
      },
      {
        "name": "tagEnd",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "Helix": {
              "description": "A helix.",
              "type": "object",
              "required": [
                "angleStart",
                "artifactId",
                "ccw",
                "revolutions",
                "units",
                "value"
              ],
              "properties": {
                "value": {
                  "description": "The id of the helix.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "revolutions": {
                  "description": "Number of revolutions.",
                  "type": "number",
                  "format": "double"
                },
                "angleStart": {
                  "description": "Start angle (in degrees).",
                  "type": "number",
                  "format": "double"
                },
                "ccw": {
                  "description": "Is the helix rotation counter clockwise?",
                  "type": "boolean"
                },
                "cylinderId": {
                  "description": "The cylinder the helix was created on.",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            }
          }
        },
        "required": false,
        "description": "A named tag for the face at the end of the sweep",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Solid]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Solid",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Solid"
        },
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Create a pipe using a sweep.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)",
        false
      ],
      [
        "// Create a spring by sweeping around a helix path.\n\n// Create a helix around the Z axis.\nhelixPath = helix(\n  angleStart = 0,\n  ccw = true,\n  revolutions = 4,\n  length = 10,\n  radius = 5,\n  axis = Z,\n)\n\n// Create a spring by sweeping around the helix path.\nspringSketch = startSketchOn(XZ)\n  |> circle(center = [5, 0], radius = 1)\n  |> sweep(path = helixPath)",
        false
      ],
      [
        "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfile(sketch001, at = [-200, 23.86])\n  |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)\n  |> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)\n  |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfile(sketch002, at = [0, 0])\n  |> yLine(length = 231.81)\n  |> tangentialArc(radius = 80, angle = -90)\n  |> xLine(length = 384.93)\n\nsweep([rectangleSketch, circleSketch], path = sweepPath)",
        false
      ],
      [
        "// Sectionally sweep one sketch along the path\n\n\nsketch001 = startSketchOn(XY)\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfile(sketch002, at = [0, 0])\n  |> yLine(length = 231.81)\n  |> tangentialArc(radius = 80, angle = -90)\n  |> xLine(length = 384.93)\n\nsweep(circleSketch, path = sweepPath, sectional = true)",
        false
      ]
    ]
  },
  {
    "name": "tangentToEnd",
    "summary": "Returns the angle coming out of the end of the segment in degrees.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "tag",
        "type": "TagIdentifier",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "TagIdentifier",
          "type": "object",
          "required": [
            "value"
          ],
          "properties": {
            "value": {
              "type": "string"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The line segment being queried by its tag",
        "labelRequired": false
      }
    ],
    "returnValue": {
      "name": "",
      "type": "number",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "double",
        "type": "number",
        "format": "double"
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Horizontal pill.\npillSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [20, 0])\n  |> tangentialArc(end = [0, 10], tag = $arc1)\n  |> angledLine(angle = tangentToEnd(arc1), length = 20)\n  |> tangentialArc(end = [0, -10])\n  |> close()\n\npillExtrude = extrude(pillSketch, length = 10)",
        false
      ],
      [
        "// Vertical pill.  Use absolute coordinate for arc.\npillSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [0, 20])\n  |> tangentialArc(endAbsolute = [10, 20], tag = $arc1)\n  |> angledLine(angle = tangentToEnd(arc1), length = 20)\n  |> tangentialArc(end = [-10, 0])\n  |> close()\n\npillExtrude = extrude(pillSketch, length = 10)",
        false
      ],
      [
        "rectangleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> line(end = [10, 0], tag = $seg1)\n  |> angledLine(angle = tangentToEnd(seg1), length = 10)\n  |> line(end = [0, 10])\n  |> line(end = [-20, 0])\n  |> close()\n\nrectangleExtrude = extrude(rectangleSketch, length = 10)",
        false
      ],
      [
        "bottom = startSketchOn(XY)\n  |> startProfile(at = [0, 0])\n  |> arc(endAbsolute = [10, 10], interiorAbsolute = [5, 1], tag = $arc1)\n  |> angledLine(angle = tangentToEnd(arc1), length = 20)\n  |> close()",
        false
      ],
      [
        "circSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 3, tag = $circ)\n\ntriangleSketch = startSketchOn(XY)\n  |> startProfile(at = [-5, 0])\n  |> angledLine(angle = tangentToEnd(circ), length = 10)\n  |> line(end = [-15, 0])\n  |> close()",
        false
      ]
    ]
  },
  {
    "name": "tangentialArc",
    "summary": "Starting at the current sketch's origin, draw a curved line segment along some part of an imaginary circle until it reaches the desired (x, y) coordinates.",
    "description": "When using radius and angle, draw a curved line segment along part of an imaginary circle. The 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 'angle' degrees along the imaginary circle.",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "endAbsolute",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Which absolute point should this arc go to? Incompatible with `end`, `radius`, and `offset`.",
        "labelRequired": true
      },
      {
        "name": "end",
        "type": "Point2d",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Array_size_2_of_TyF64",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/TyF64"
          },
          "maxItems": 2,
          "minItems": 2,
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "How far away (along the X and Y axes) should this arc go? Incompatible with `endAbsolute`, `radius`, and `offset`.",
        "labelRequired": true
      },
      {
        "name": "radius",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Radius of the imaginary circle. `angle` must be given. Incompatible with `end` and `endAbsolute`.",
        "labelRequired": true
      },
      {
        "name": "angle",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Offset of the arc in degrees. `radius` must be given. Incompatible with `end` and `endAbsolute`.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this arc",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> angledLine(angle = 45, length = 10)\n  |> tangentialArc(end = [0, -10])\n  |> line(end = [-10, 0])\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> angledLine(angle = 60, length = 10)\n  |> tangentialArc(endAbsolute = [15, 15])\n  |> line(end = [10, -15])\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ],
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> angledLine(angle = 60, length = 10)\n  |> tangentialArc(radius = 10, angle = -120)\n  |> angledLine(angle = -60, length = 10)\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  },
  {
    "name": "translate",
    "summary": "Move a solid or a sketch.",
    "description": "This is really useful for assembling parts together. You can create a part and then move it to the correct location.\n\nTranslate is really useful for sketches if you want to move a sketch and then rotate it using the `rotate` function to create a loft.",
    "tags": [
      "transform"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "objects",
        "type": "SolidOrSketchOrImportedGeometry",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "SolidOrSketchOrImportedGeometry",
          "description": "Data for a solid, sketch, or an imported geometry.",
          "oneOf": [
            {
              "description": "Data for an imported geometry.",
              "type": "object",
              "required": [
                "id",
                "type",
                "value"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "importedGeometry"
                  ]
                },
                "id": {
                  "description": "The ID of the imported geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "value": {
                  "description": "The original file paths.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "$ref": "#/components/schemas/Solid"
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "solidSet"
                  ]
                }
              }
            },
            {
              "type": [
                "object",
                "array"
              ],
              "items": {
                "$ref": "#/components/schemas/Sketch"
              },
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "sketchSet"
                  ]
                }
              }
            }
          ],
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solid, sketch, or set of solids or sketches to move.",
        "labelRequired": false
      },
      {
        "name": "x",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The amount to move the solid or sketch along the x axis. Defaults to 0 if not provided.",
        "labelRequired": true
      },
      {
        "name": "y",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The amount to move the solid or sketch along the y axis. Defaults to 0 if not provided.",
        "labelRequired": true
      },
      {
        "name": "z",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "The amount to move the solid or sketch along the z axis. Defaults to 0 if not provided.",
        "labelRequired": true
      },
      {
        "name": "global",
        "type": "bool",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_Boolean",
          "type": "boolean",
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "If true, the transform is applied in global space. The origin of the model will move. By default, the transform is applied in local sketch axis, therefore the origin will not move.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "SolidOrSketchOrImportedGeometry",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "SolidOrSketchOrImportedGeometry",
        "description": "Data for a solid, sketch, or an imported geometry.",
        "oneOf": [
          {
            "description": "Data for an imported geometry.",
            "type": "object",
            "required": [
              "id",
              "type",
              "value"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "importedGeometry"
                ]
              },
              "id": {
                "description": "The ID of the imported geometry.",
                "type": "string",
                "format": "uuid"
              },
              "value": {
                "description": "The original file paths.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Solid"
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "solidSet"
                ]
              }
            }
          },
          {
            "type": [
              "object",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/Sketch"
            },
            "required": [
              "type"
            ],
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sketchSet"
                ]
              }
            }
          }
        ],
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Move a pipe.\n\n// Create a path for the sweep.\nsweepPath = startSketchOn(XZ)\n  |> startProfile(at = [0.05, 0.05])\n  |> line(end = [0, 7])\n  |> tangentialArc(angle = 90, radius = 5)\n  |> line(end = [-3, 0])\n  |> tangentialArc(angle = -90, radius = 5)\n  |> line(end = [0, 7])\n\n// Create a hole for the pipe.\npipeHole = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 1.5)\n\nsweepSketch = startSketchOn(XY)\n  |> circle(center = [0, 0], radius = 2)\n  |> subtract2d(tool = pipeHole)\n  |> sweep(path = sweepPath)\n  |> translate(x = 1.0, y = 1.0, z = 2.5)",
        false
      ],
      [
        "// Move an imported model.\n\n\nimport \"tests/inputs/cube.sldprt\" as cube\n\n// Circle so you actually see the move.\nstartSketchOn(XY)\n  |> circle(center = [-10, -10], radius = 10)\n  |> extrude(length = 10)\n\ncube\n  |> translate(x = 10.0, y = 10.0, z = 2.5)",
        false
      ],
      [
        "// Sweep two sketches along the same path.\n\n\nsketch001 = startSketchOn(XY)\nrectangleSketch = startProfile(sketch001, at = [-200, 23.86])\n  |> angledLine(angle = 0, length = 73.47, tag = $rectangleSegmentA001)\n  |> angledLine(angle = segAng(rectangleSegmentA001) - 90, length = 50.61)\n  |> angledLine(angle = segAng(rectangleSegmentA001), length = -segLen(rectangleSegmentA001))\n  |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n  |> close()\n\ncircleSketch = circle(sketch001, center = [200, -30.29], radius = 32.63)\n\nsketch002 = startSketchOn(YZ)\nsweepPath = startProfile(sketch002, at = [0, 0])\n  |> yLine(length = 231.81)\n  |> tangentialArc(radius = 80, angle = -90)\n  |> xLine(length = 384.93)\n\nparts = sweep([rectangleSketch, circleSketch], path = sweepPath)\n\n// Move the sweeps.\ntranslate(\n  parts,\n  x = 1.0,\n  y = 1.0,\n  z = 2.5,\n)",
        false
      ],
      [
        "// Move a sketch.\n\n\nfn square(@length) {\n  l = length / 2\n  p0 = [-l, -l]\n  p1 = [-l, l]\n  p2 = [l, l]\n  p3 = [l, -l]\n\n  return startSketchOn(XY)\n    |> startProfile(at = p0)\n    |> line(endAbsolute = p1)\n    |> line(endAbsolute = p2)\n    |> line(endAbsolute = p3)\n    |> close()\n}\n\nsquare(10)\n  |> translate(x = 5, y = 5)\n  |> extrude(length = 10)",
        false
      ],
      [
        "// Translate and rotate a sketch to create a loft.\nsketch001 = startSketchOn(XY)\n\nfn square() {\n  return startProfile(sketch001, at = [-10, 10])\n    |> xLine(length = 20)\n    |> yLine(length = -20)\n    |> xLine(length = -20)\n    |> line(endAbsolute = [profileStartX(%), profileStartY(%)])\n    |> close()\n}\n\nprofile001 = square()\n\nprofile002 = square()\n  |> translate(z = 20)\n  |> rotate(axis = [0, 0, 1.0], angle = 45)\n\nloft([profile001, profile002])",
        false
      ]
    ]
  },
  {
    "name": "union",
    "summary": "Union two or more solids into a single solid.",
    "description": "",
    "tags": [
      "solid"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "solids",
        "type": "[Solid]",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Array_of_Solid",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Solid"
          },
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "The solids to union.",
        "labelRequired": false
      },
      {
        "name": "tolerance",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "The tolerance to use for the union operation.",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "[Solid]",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Array_of_Solid",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Solid"
        },
        "definitions": {
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "// Union two cubes using the stdlib functions.\n\n\nfn cube(center, size) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] + size])\n    |> line(endAbsolute = [center[0] - size, center[1] + size])\n    |> close()\n    |> extrude(length = 10)\n}\n\npart001 = cube(center = [0, 0], size = 10)\npart002 = cube(center = [7, 3], size = 5)\n  |> translate(z = 1)\n\nunionedPart = union([part001, part002])",
        false
      ],
      [
        "// Union two cubes using operators.\n// NOTE: This will not work when using codemods through the UI.\n// Codemods will generate the stdlib function call instead.\n\n\nfn cube(center, size) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] + size])\n    |> line(endAbsolute = [center[0] - size, center[1] + size])\n    |> close()\n    |> extrude(length = 10)\n}\n\npart001 = cube(center = [0, 0], size = 10)\npart002 = cube(center = [7, 3], size = 5)\n  |> translate(z = 1)\n\n// This is the equivalent of: union([part001, part002])\nunionedPart = part001 + part002",
        false
      ],
      [
        "// Union two cubes using the more programmer-friendly operator.\n// NOTE: This will not work when using codemods through the UI.\n// Codemods will generate the stdlib function call instead.\n\n\nfn cube(center, size) {\n  return startSketchOn(XY)\n    |> startProfile(at = [center[0] - size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] - size])\n    |> line(endAbsolute = [center[0] + size, center[1] + size])\n    |> line(endAbsolute = [center[0] - size, center[1] + size])\n    |> close()\n    |> extrude(length = 10)\n}\n\npart001 = cube(center = [0, 0], size = 10)\npart002 = cube(center = [7, 3], size = 5)\n  |> translate(z = 1)\n\n  // This is the equivalent of: union([part001, part002])\n  // Programmers will understand `|` as a union operation, but mechanical engineers\n// will understand `+`, we made both work.\nunionedPart = part001 | part002",
        false
      ]
    ]
  },
  {
    "name": "xLine",
    "summary": "Draw a line relative to the current origin to a specified distance away from the current position along the 'x' axis.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "length",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "How far away along the X axis should this line go? Incompatible with `endAbsolute`.",
        "labelRequired": true
      },
      {
        "name": "endAbsolute",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Which absolute X value should this line go to? Incompatible with `length`.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> xLine(length = 15)\n  |> angledLine(angle = 80, length = 15)\n  |> line(end = [8, -10])\n  |> xLine(length = 10)\n  |> angledLine(angle = 120, length = 30)\n  |> xLine(length = -15)\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  },
  {
    "name": "yLine",
    "summary": "Draw a line relative to the current origin to a specified distance away from the current position along the 'y' axis.",
    "description": "",
    "tags": [
      "sketch"
    ],
    "keywordArguments": true,
    "args": [
      {
        "name": "sketch",
        "type": "Sketch",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Sketch",
          "type": "object",
          "required": [
            "artifactId",
            "id",
            "on",
            "originalId",
            "paths",
            "start",
            "units"
          ],
          "properties": {
            "id": {
              "description": "The id of the sketch (this will change when the engine's reference to it changes).",
              "type": "string",
              "format": "uuid"
            },
            "paths": {
              "description": "The paths in the sketch.",
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Path"
              }
            },
            "on": {
              "description": "What the sketch is on (can be a plane or a face).",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SketchSurface"
                }
              ]
            },
            "start": {
              "description": "The starting path.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/BasePath"
                }
              ]
            },
            "tags": {
              "description": "Tag identifiers that have been declared in this sketch.",
              "type": "object",
              "additionalProperties": {
                "$ref": "#/components/schemas/TagIdentifier"
              }
            },
            "artifactId": {
              "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
              "allOf": [
                {
                  "$ref": "#/components/schemas/ArtifactId"
                }
              ]
            },
            "originalId": {
              "type": "string",
              "format": "uuid"
            },
            "units": {
              "$ref": "#/components/schemas/UnitLen"
            }
          },
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": true,
        "includeInSnippet": true,
        "description": "Which sketch should this path be added to?",
        "labelRequired": false
      },
      {
        "name": "length",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "includeInSnippet": true,
        "description": "How far away along the Y axis should this line go? Incompatible with `endAbsolute`.",
        "labelRequired": true
      },
      {
        "name": "endAbsolute",
        "type": "number",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TyF64",
          "allOf": [
            {
              "$ref": "#/components/schemas/TyF64"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Which absolute Y value should this line go to? Incompatible with `length`.",
        "labelRequired": true
      },
      {
        "name": "tag",
        "type": "TagNode",
        "schema": {
          "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
          "title": "Nullable_TagDeclarator",
          "allOf": [
            {
              "$ref": "#/components/schemas/TagDeclarator"
            }
          ],
          "nullable": true,
          "definitions": {
            "Path": {
              "description": "A path.",
              "oneOf": [
                {
                  "description": "A path that goes to a point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ToPoint"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "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",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArcTo"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A arc that is tangential to the last path segment",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "TangentialArc"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "ccw": {
                      "description": "arc's direction",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "a complete arc",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Circle"
                      ]
                    },
                    "center": {
                      "description": "the arc's center",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "the arc's radius",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "arc's direction This is used to compute the tangential angle.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "CircleThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the circle",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "p1",
                    "p2",
                    "p3",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "ArcThreePoint"
                      ]
                    },
                    "p1": {
                      "description": "Point 1 of the arc (base on the end of previous segment)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p2": {
                      "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "p3": {
                      "description": "Point 3 of the arc (endAbsolute kwarg)",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A path that is horizontal.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units",
                    "x"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Horizontal"
                      ]
                    },
                    "x": {
                      "description": "The x coordinate.",
                      "type": "number",
                      "format": "double"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An angled line to.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "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
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A base path.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "from",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Base"
                      ]
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A circular arc, not necessarily tangential to the current point.",
                  "type": "object",
                  "required": [
                    "__geoMeta",
                    "ccw",
                    "center",
                    "from",
                    "radius",
                    "to",
                    "type",
                    "units"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Arc"
                      ]
                    },
                    "center": {
                      "description": "Center of the circle that this arc is drawn on.",
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "maxItems": 2,
                      "minItems": 2
                    },
                    "radius": {
                      "description": "Radius of the circle that this arc is drawn on.",
                      "type": "number",
                      "format": "double"
                    },
                    "ccw": {
                      "description": "True if the arc is counterclockwise.",
                      "type": "boolean"
                    },
                    "from": {
                      "description": "The from 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
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    },
                    "tag": {
                      "description": "The tag of the path.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "__geoMeta": {
                      "description": "Metadata.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GeoMeta"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "UnitLen": {
              "description": "A unit of length.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Mm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Cm"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "M"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Inches"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Feet"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Yards"
                      ]
                    }
                  }
                },
                {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "Unknown"
                      ]
                    }
                  }
                }
              ]
            },
            "TagDeclarator": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                },
                "digest": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "format": "uint8",
                    "minimum": 0.0
                  },
                  "maxItems": 32,
                  "minItems": 32,
                  "nullable": true
                },
                "start": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                },
                "end": {
                  "type": "integer",
                  "format": "uint",
                  "minimum": 0.0
                }
              }
            },
            "GeoMeta": {
              "description": "Geometry metadata.",
              "type": "object",
              "required": [
                "id",
                "sourceRange"
              ],
              "properties": {
                "id": {
                  "description": "The id of the geometry.",
                  "type": "string",
                  "format": "uuid"
                },
                "sourceRange": {
                  "description": "The source range.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SourceRange"
                    }
                  ]
                }
              }
            },
            "SourceRange": {
              "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
              "type": "array",
              "items": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "maxItems": 3,
              "minItems": 3
            },
            "SketchSurface": {
              "description": "A sketch type.",
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "origin",
                    "type",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "plane"
                      ]
                    },
                    "id": {
                      "description": "The id of the plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "$ref": "#/components/schemas/PlaneType"
                    },
                    "origin": {
                      "description": "Origin of the plane.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "xAxis": {
                      "description": "What should the plane's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the plane's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "A face.",
                  "type": "object",
                  "required": [
                    "artifactId",
                    "id",
                    "solid",
                    "type",
                    "units",
                    "value",
                    "xAxis",
                    "yAxis"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "face"
                      ]
                    },
                    "id": {
                      "description": "The id of the face.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "artifactId": {
                      "description": "The artifact ID.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ArtifactId"
                        }
                      ]
                    },
                    "value": {
                      "description": "The tag of the face.",
                      "type": "string"
                    },
                    "xAxis": {
                      "description": "What should the face's X axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "yAxis": {
                      "description": "What should the face's Y axis be?",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Point3d"
                        }
                      ]
                    },
                    "solid": {
                      "description": "The solid the face is on.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Solid"
                        }
                      ]
                    },
                    "units": {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  }
                }
              ]
            },
            "ArtifactId": {
              "type": "string",
              "format": "uuid"
            },
            "PlaneType": {
              "description": "Type for a plane.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "XY",
                    "XZ",
                    "YZ"
                  ]
                },
                {
                  "description": "A custom plane.",
                  "type": "string",
                  "enum": [
                    "Custom"
                  ]
                },
                {
                  "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                  "type": "string",
                  "enum": [
                    "Uninit"
                  ]
                }
              ]
            },
            "Point3d": {
              "type": "object",
              "required": [
                "units",
                "x",
                "y",
                "z"
              ],
              "properties": {
                "x": {
                  "type": "number",
                  "format": "double"
                },
                "y": {
                  "type": "number",
                  "format": "double"
                },
                "z": {
                  "type": "number",
                  "format": "double"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "Solid": {
              "type": "object",
              "required": [
                "artifactId",
                "height",
                "id",
                "sectional",
                "sketch",
                "units",
                "value"
              ],
              "properties": {
                "id": {
                  "description": "The id of the solid.",
                  "type": "string",
                  "format": "uuid"
                },
                "artifactId": {
                  "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "value": {
                  "description": "The extrude surfaces.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtrudeSurface"
                  }
                },
                "sketch": {
                  "description": "The sketch.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sketch"
                    }
                  ]
                },
                "height": {
                  "description": "The height of the solid.",
                  "type": "number",
                  "format": "double"
                },
                "startCapId": {
                  "description": "The id of the extrusion start cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "endCapId": {
                  "description": "The id of the extrusion end cap",
                  "type": "string",
                  "format": "uuid",
                  "nullable": true
                },
                "edgeCuts": {
                  "description": "Chamfers or fillets on this solid.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EdgeCut"
                  }
                },
                "units": {
                  "description": "The units of the solid.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/UnitLen"
                    }
                  ]
                },
                "sectional": {
                  "description": "Is this a sectional solid?",
                  "type": "boolean"
                }
              }
            },
            "ExtrudeSurface": {
              "description": "An extrude surface.",
              "oneOf": [
                {
                  "description": "An extrude plane.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudePlane"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "An extruded arc.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "extrudeArc"
                      ]
                    },
                    "faceId": {
                      "description": "The face id for the extrude plane.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the chamfer surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "Geometry metadata.",
                  "type": "object",
                  "required": [
                    "faceId",
                    "id",
                    "sourceRange",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "faceId": {
                      "description": "The id for the fillet surface.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "description": "The tag.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    },
                    "id": {
                      "description": "The id of the geometry.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "sourceRange": {
                      "description": "The source range.",
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SourceRange"
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "Sketch": {
              "type": "object",
              "required": [
                "artifactId",
                "id",
                "on",
                "originalId",
                "paths",
                "start",
                "units"
              ],
              "properties": {
                "id": {
                  "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                  "type": "string",
                  "format": "uuid"
                },
                "paths": {
                  "description": "The paths in the sketch.",
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Path"
                  }
                },
                "on": {
                  "description": "What the sketch is on (can be a plane or a face).",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SketchSurface"
                    }
                  ]
                },
                "start": {
                  "description": "The starting path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BasePath"
                    }
                  ]
                },
                "tags": {
                  "description": "Tag identifiers that have been declared in this sketch.",
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/TagIdentifier"
                  }
                },
                "artifactId": {
                  "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ArtifactId"
                    }
                  ]
                },
                "originalId": {
                  "type": "string",
                  "format": "uuid"
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                }
              }
            },
            "BasePath": {
              "description": "A base path.",
              "type": "object",
              "required": [
                "__geoMeta",
                "from",
                "to",
                "units"
              ],
              "properties": {
                "from": {
                  "description": "The from 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
                },
                "units": {
                  "$ref": "#/components/schemas/UnitLen"
                },
                "tag": {
                  "description": "The tag of the path.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TagDeclarator"
                    }
                  ],
                  "nullable": true
                },
                "__geoMeta": {
                  "description": "Metadata.",
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoMeta"
                    }
                  ]
                }
              }
            },
            "TagIdentifier": {
              "type": "object",
              "required": [
                "value"
              ],
              "properties": {
                "value": {
                  "type": "string"
                }
              }
            },
            "EdgeCut": {
              "description": "A fillet or a chamfer.",
              "oneOf": [
                {
                  "description": "A fillet.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "radius",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "fillet"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "radius": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to fillet.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                },
                {
                  "description": "A chamfer.",
                  "type": "object",
                  "required": [
                    "edgeId",
                    "id",
                    "length",
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "chamfer"
                      ]
                    },
                    "id": {
                      "description": "The id of the engine command that called this chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "length": {
                      "$ref": "#/components/schemas/TyF64"
                    },
                    "edgeId": {
                      "description": "The engine id of the edge to chamfer.",
                      "type": "string",
                      "format": "uuid"
                    },
                    "tag": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TagDeclarator"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              ]
            },
            "TyF64": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": false,
        "description": "Create a new tag which refers to this line",
        "labelRequired": true
      }
    ],
    "returnValue": {
      "name": "",
      "type": "Sketch",
      "schema": {
        "$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
        "title": "Sketch",
        "type": "object",
        "required": [
          "artifactId",
          "id",
          "on",
          "originalId",
          "paths",
          "start",
          "units"
        ],
        "properties": {
          "id": {
            "description": "The id of the sketch (this will change when the engine's reference to it changes).",
            "type": "string",
            "format": "uuid"
          },
          "paths": {
            "description": "The paths in the sketch.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Path"
            }
          },
          "on": {
            "description": "What the sketch is on (can be a plane or a face).",
            "allOf": [
              {
                "$ref": "#/components/schemas/SketchSurface"
              }
            ]
          },
          "start": {
            "description": "The starting path.",
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePath"
              }
            ]
          },
          "tags": {
            "description": "Tag identifiers that have been declared in this sketch.",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TagIdentifier"
            }
          },
          "artifactId": {
            "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              }
            ]
          },
          "originalId": {
            "type": "string",
            "format": "uuid"
          },
          "units": {
            "$ref": "#/components/schemas/UnitLen"
          }
        },
        "definitions": {
          "Path": {
            "description": "A path.",
            "oneOf": [
              {
                "description": "A path that goes to a point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ToPoint"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "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",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArcTo"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A arc that is tangential to the last path segment",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "TangentialArc"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "ccw": {
                    "description": "arc's direction",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "a complete arc",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Circle"
                    ]
                  },
                  "center": {
                    "description": "the arc's center",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "the arc's radius",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "arc's direction This is used to compute the tangential angle.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "CircleThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the circle",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "p1",
                  "p2",
                  "p3",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "ArcThreePoint"
                    ]
                  },
                  "p1": {
                    "description": "Point 1 of the arc (base on the end of previous segment)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p2": {
                    "description": "Point 2 of the arc (interiorAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "p3": {
                    "description": "Point 3 of the arc (endAbsolute kwarg)",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A path that is horizontal.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units",
                  "x"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Horizontal"
                    ]
                  },
                  "x": {
                    "description": "The x coordinate.",
                    "type": "number",
                    "format": "double"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An angled line to.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "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
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A base path.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "from",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Base"
                    ]
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A circular arc, not necessarily tangential to the current point.",
                "type": "object",
                "required": [
                  "__geoMeta",
                  "ccw",
                  "center",
                  "from",
                  "radius",
                  "to",
                  "type",
                  "units"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Arc"
                    ]
                  },
                  "center": {
                    "description": "Center of the circle that this arc is drawn on.",
                    "type": "array",
                    "items": {
                      "type": "number",
                      "format": "double"
                    },
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "radius": {
                    "description": "Radius of the circle that this arc is drawn on.",
                    "type": "number",
                    "format": "double"
                  },
                  "ccw": {
                    "description": "True if the arc is counterclockwise.",
                    "type": "boolean"
                  },
                  "from": {
                    "description": "The from 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
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  },
                  "tag": {
                    "description": "The tag of the path.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "__geoMeta": {
                    "description": "Metadata.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/GeoMeta"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "UnitLen": {
            "description": "A unit of length.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Mm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Cm"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "M"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Inches"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Feet"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Yards"
                    ]
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "Unknown"
                    ]
                  }
                }
              }
            ]
          },
          "TagDeclarator": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              },
              "digest": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "uint8",
                  "minimum": 0.0
                },
                "maxItems": 32,
                "minItems": 32,
                "nullable": true
              },
              "start": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              },
              "end": {
                "type": "integer",
                "format": "uint",
                "minimum": 0.0
              }
            }
          },
          "GeoMeta": {
            "description": "Geometry metadata.",
            "type": "object",
            "required": [
              "id",
              "sourceRange"
            ],
            "properties": {
              "id": {
                "description": "The id of the geometry.",
                "type": "string",
                "format": "uuid"
              },
              "sourceRange": {
                "description": "The source range.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SourceRange"
                  }
                ]
              }
            }
          },
          "SourceRange": {
            "description": "The first two items are the start and end points (byte offsets from the start of the file). The third item is whether the source range belongs to the 'main' file, i.e., the file currently being rendered/displayed in the editor.",
            "type": "array",
            "items": {
              "type": "integer",
              "format": "uint",
              "minimum": 0.0
            },
            "maxItems": 3,
            "minItems": 3
          },
          "SketchSurface": {
            "description": "A sketch type.",
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "origin",
                  "type",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "plane"
                    ]
                  },
                  "id": {
                    "description": "The id of the plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "$ref": "#/components/schemas/PlaneType"
                  },
                  "origin": {
                    "description": "Origin of the plane.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "xAxis": {
                    "description": "What should the plane's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the plane's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  }
                }
              },
              {
                "description": "A face.",
                "type": "object",
                "required": [
                  "artifactId",
                  "id",
                  "solid",
                  "type",
                  "units",
                  "value",
                  "xAxis",
                  "yAxis"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "face"
                    ]
                  },
                  "id": {
                    "description": "The id of the face.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "artifactId": {
                    "description": "The artifact ID.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ArtifactId"
                      }
                    ]
                  },
                  "value": {
                    "description": "The tag of the face.",
                    "type": "string"
                  },
                  "xAxis": {
                    "description": "What should the face's X axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "yAxis": {
                    "description": "What should the face's Y axis be?",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Point3d"
                      }
                    ]
                  },
                  "solid": {
                    "description": "The solid the face is on.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Solid"
                      }
                    ]
                  },
                  "units": {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                }
              }
            ]
          },
          "ArtifactId": {
            "type": "string",
            "format": "uuid"
          },
          "PlaneType": {
            "description": "Type for a plane.",
            "oneOf": [
              {
                "type": "string",
                "enum": [
                  "XY",
                  "XZ",
                  "YZ"
                ]
              },
              {
                "description": "A custom plane.",
                "type": "string",
                "enum": [
                  "Custom"
                ]
              },
              {
                "description": "A custom plane which has not been sent to the engine. It must be sent before it is used.",
                "type": "string",
                "enum": [
                  "Uninit"
                ]
              }
            ]
          },
          "Point3d": {
            "type": "object",
            "required": [
              "units",
              "x",
              "y",
              "z"
            ],
            "properties": {
              "x": {
                "type": "number",
                "format": "double"
              },
              "y": {
                "type": "number",
                "format": "double"
              },
              "z": {
                "type": "number",
                "format": "double"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "Solid": {
            "type": "object",
            "required": [
              "artifactId",
              "height",
              "id",
              "sectional",
              "sketch",
              "units",
              "value"
            ],
            "properties": {
              "id": {
                "description": "The id of the solid.",
                "type": "string",
                "format": "uuid"
              },
              "artifactId": {
                "description": "The artifact ID of the solid.  Unlike `id`, this doesn't change.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "value": {
                "description": "The extrude surfaces.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ExtrudeSurface"
                }
              },
              "sketch": {
                "description": "The sketch.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Sketch"
                  }
                ]
              },
              "height": {
                "description": "The height of the solid.",
                "type": "number",
                "format": "double"
              },
              "startCapId": {
                "description": "The id of the extrusion start cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "endCapId": {
                "description": "The id of the extrusion end cap",
                "type": "string",
                "format": "uuid",
                "nullable": true
              },
              "edgeCuts": {
                "description": "Chamfers or fillets on this solid.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EdgeCut"
                }
              },
              "units": {
                "description": "The units of the solid.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/UnitLen"
                  }
                ]
              },
              "sectional": {
                "description": "Is this a sectional solid?",
                "type": "boolean"
              }
            }
          },
          "ExtrudeSurface": {
            "description": "An extrude surface.",
            "oneOf": [
              {
                "description": "An extrude plane.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudePlane"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "An extruded arc.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "extrudeArc"
                    ]
                  },
                  "faceId": {
                    "description": "The face id for the extrude plane.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the chamfer surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              },
              {
                "description": "Geometry metadata.",
                "type": "object",
                "required": [
                  "faceId",
                  "id",
                  "sourceRange",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "faceId": {
                    "description": "The id for the fillet surface.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "description": "The tag.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  },
                  "id": {
                    "description": "The id of the geometry.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "sourceRange": {
                    "description": "The source range.",
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SourceRange"
                      }
                    ]
                  }
                }
              }
            ]
          },
          "Sketch": {
            "type": "object",
            "required": [
              "artifactId",
              "id",
              "on",
              "originalId",
              "paths",
              "start",
              "units"
            ],
            "properties": {
              "id": {
                "description": "The id of the sketch (this will change when the engine's reference to it changes).",
                "type": "string",
                "format": "uuid"
              },
              "paths": {
                "description": "The paths in the sketch.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Path"
                }
              },
              "on": {
                "description": "What the sketch is on (can be a plane or a face).",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SketchSurface"
                  }
                ]
              },
              "start": {
                "description": "The starting path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePath"
                  }
                ]
              },
              "tags": {
                "description": "Tag identifiers that have been declared in this sketch.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/TagIdentifier"
                }
              },
              "artifactId": {
                "description": "The original id of the sketch. This stays the same even if the sketch is is sketched on face etc.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ArtifactId"
                  }
                ]
              },
              "originalId": {
                "type": "string",
                "format": "uuid"
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              }
            }
          },
          "BasePath": {
            "description": "A base path.",
            "type": "object",
            "required": [
              "__geoMeta",
              "from",
              "to",
              "units"
            ],
            "properties": {
              "from": {
                "description": "The from 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
              },
              "units": {
                "$ref": "#/components/schemas/UnitLen"
              },
              "tag": {
                "description": "The tag of the path.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TagDeclarator"
                  }
                ],
                "nullable": true
              },
              "__geoMeta": {
                "description": "Metadata.",
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GeoMeta"
                  }
                ]
              }
            }
          },
          "TagIdentifier": {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "value": {
                "type": "string"
              }
            }
          },
          "EdgeCut": {
            "description": "A fillet or a chamfer.",
            "oneOf": [
              {
                "description": "A fillet.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "radius",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "fillet"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "radius": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to fillet.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              },
              {
                "description": "A chamfer.",
                "type": "object",
                "required": [
                  "edgeId",
                  "id",
                  "length",
                  "type"
                ],
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "chamfer"
                    ]
                  },
                  "id": {
                    "description": "The id of the engine command that called this chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "length": {
                    "$ref": "#/components/schemas/TyF64"
                  },
                  "edgeId": {
                    "description": "The engine id of the edge to chamfer.",
                    "type": "string",
                    "format": "uuid"
                  },
                  "tag": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TagDeclarator"
                      }
                    ],
                    "nullable": true
                  }
                }
              }
            ]
          },
          "TyF64": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "required": true,
      "includeInSnippet": true,
      "labelRequired": true
    },
    "unpublished": false,
    "deprecated": false,
    "examples": [
      [
        "exampleSketch = startSketchOn(XZ)\n  |> startProfile(at = [0, 0])\n  |> yLine(length = 15)\n  |> angledLine(angle = 30, length = 15)\n  |> line(end = [8, -10])\n  |> yLine(length = -5)\n  |> close()\n\nexample = extrude(exampleSketch, length = 10)",
        false
      ]
    ]
  }
]